Your SlideShare is downloading. ×
0
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
BYO3D 2011: Construction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

BYO3D 2011: Construction

10,306

Published on

Driven by the recent resurgence of 3D cinema, depth cameras and stereoscopic displays are becoming commonplace in the consumer market. Introduced last October, Microsoft Kinect has already fostered …

Driven by the recent resurgence of 3D cinema, depth cameras and stereoscopic displays are becoming commonplace in the consumer market. Introduced last October, Microsoft Kinect has already fostered gesture-based interaction for applications well beyond the intended Xbox 360 platform. Similarly, consumer electronics manufacturers have begun selling stereoscopic displays and inexpensive stereoscopic cameras. Most commercial 3D displays continue to require cumbersome eyewear, but inexpensive, glasses-free 3D displays are imminent with the release of the Nintendo 3DS.
At SIGGRAPH 2010, the Build Your Own 3D Display course demonstrated how to construct both LCD shutter glasses and glasses-free lenticular screens, providing Matlab-based code for batch encoding of 3D imagery. This follow-up course focuses more narrowly on glasses-free displays, describing in greater detail the practical aspects of real-time, OpenGL-based encoding for such multi-view, spatially multiplexed displays.
The course reviews historical and perceptual aspects, emphasizing the goal of achieving disparity, motion parallax, accommodation, and convergence cues without glasses. It summarizes state-of-the-art methods and areas of active research. And it provides a step-by-step tutorial on how to construct a lenticular display. The course concludes with an extended question-and-answer session, during which prototype hardware is available for inspection.

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,306
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
86
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Course Outline<br /><ul><li>Introduction: History and Physiology
  • 2. Constructing Glasses-free 3D Displays
  • 3. Multi-view Rendering using OpenGL
  • 4. Multi-view Interlacing using GLSL
  • 5. Designing Content for Glasses-free 3D Displays
  • 6. Emerging Technology
  • 7. Q & A and Demonstrations</li></li></ul><li>Parallax Barrier vs. Lenslet Arrays<br />a<br />a<br />barrier<br />lenslet<br />f<br />dm<br />wi<br />wi<br />display<br />display<br />Parallax Barrier<br />Lenslet Array<br /><ul><li>Two alternatives for spatially-multiplexed automultiscopic display:
  • 8. Attenuating masks using parallax barriers [Ives, 1903]
  • 9. Refracting lenslet arrays [Lippmann, 1908]
  • 10. Barriers cause severe attenuation  dim displays
  • 11. Lenslets impose fixed trade-off between spatial and angular resolution</li></ul>How to select mask/lenslet properties and generate base images?<br />
  • 12. Achieving 1D vs. 2D Parallax<br />1D Parallax Barrier<br />1D Lenslet Array<br />Supporting Horizontal-only Motion Parallax<br /><ul><li>Parallax barrier has a vertically-extended base (rear) and slits (front)
  • 13. Lenslets are linear array of cylindrical lenses (i.e., a lenticular sheet)</li></ul>Depth perception not supported when viewed “sideways”<br />
  • 14. Achieving 1D vs. 2D Parallax<br />2D Parallax Barrier<br />2D Lenslet Array<br />Supporting Horizontal and Vertical Motion Parallax<br /><ul><li> Parallax barrier has an interlaced base (rear) and pinhole array (front)
  • 15. Lenslets consist of a 2D array (i.e., a “fly’s eye" lens array)</li></ul>Requires additional views slower rendering and lower resolution<br />Pinholes furtherreduce brightness of parallax barrier displays<br />
  • 16. Constructing a Lenslet-based 3D Display:<br />1D Parallax with Lenticular Sheets<br />Diffuser<br />Lenticular Sheet<br />Parts List [$100-$280, but only $100 if an existing LCD monitor is used]<br /><ul><li>[1]LCD monitor (e.g, ViewSonic VX2433wm 24′′) [$180]
  • 17. [1]Diffuser (e.g., GrafixR03MT2512 0.003" Matte Acetate 25′′x12′ Roll) [$15]</li></ul> (see: http://www.grafixarts.com/product/Acetate)<br /><ul><li>[1]Lenticular Sheet (e.g., Micro Lens Technology 22′′×28′′ 10 or 15 LPI) [$85]</li></ul> (see: http://www.microlens.com/)<br /><ul><li>Additional mounting hardware (tape, clamps, framing, etc.)</li></li></ul><li>Generating Content:<br />Input is a Light Field (i.e., 1D Array of Images)<br />viewer moves right<br />
  • 18. Generating Content:<br />Ray Tracing using POV-Ray<br />q<br />lenslet<br />f<br />wi<br />POV-Ray Example<br />Oblique Projection<br />display<br />Lenslet Array<br />Generating Light Fields using POV-Ray<br /><ul><li>Freeware ray tracer (see http://www.povray.org/)
  • 19. Supports oblique projections (i.e., skewed orthographic cameras)
  • 20. Could use anything that can generate light fields (e.g., later we’ll describe OpenGL renderer)</li></li></ul><li>Generating Content:<br />POV-Ray Demonstration<br />Generating Light Fields using POV-Ray<br /><ul><li>Freeware ray tracer (see http://www.povray.org/)</li></li></ul><li>Interlacing Content:<br />Evaluating Spatially-Multiplexed Base Images<br />wl<br />lenslet<br />f<br />display<br />wp<br />Generating the Interlaced (Base) Image<br /><ul><li> Straightforward if lenslet width is an integer multiple of pixel width
  • 21. Practically, this is only achieved with custom-manufactured lenslets
  • 22. However, could be achieved with custom-printed parallax barrier…</li></ul>An interlacing algorithm is needed to generate the base image<br /><ul><li> Must handle non-integer lens:pixel ratios  spatio-angular antialiasing
  • 23. Must accommodate calibration error</li></li></ul><li>Interlacing Content:<br />Evaluating Spatially-Multiplexed Base Images<br />o<br />wl<br />f<br />d<br />wp<br />Generating the Interlaced (Base) Image<br /><ul><li> Pixel pitch and lenslet width must be measured (or found from specifications)
  • 24. Must define offset between lenslet array and screen (calibration error)
  • 25. First, evaluate closest lenslet for each pixel  spatial imagesample
  • 26. Second, evaluate offset from lenslet center  angular viewpoint</li></ul>Antialiasing by oversampling (i.e., average samples in each pixel)<br />
  • 27. Interlacing Content:<br />MATLAB Demonstration<br />
  • 28. Aligning the Lenticular Sheet:<br />Using a Moiré Magnifier for Calibration<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />A<br />How to align the lenslet array with the screen pixels?<br /><ul><li> Interpolation procedure used for interlacing assumes no relative rotation
  • 29. Can interpret as a moiré magnifier[Hutley et al., 1994]
  • 30. Viewing an array of images through lenslets produces magnified images
  • 31. Relative pitch/orientation determines scaling/rotation of magnified images</li></ul>M. C. Hutley , R. Hunt , R. F. Stevens and P. Savander.The Moiré Magnifier.Pure and Applied Optics, 1994<br />
  • 32. Aligning the Lenticular Sheet:<br />Demonstration<br />Alignment Procedure<br /><ul><li>Display blank white image on screen (color filters emphasized here)
  • 33. Place lenticular sheet in direct contact with the screen
  • 34. Rotate lenticular sheet until the magnified pixels are vertically aligned</li></li></ul><li>Aligning the Lenticular Sheet:<br />Demonstration<br />Manual Alignment<br />Alignment Procedure<br /><ul><li>Display blank white image on screen (color filters emphasized here)
  • 35. Place lenticular sheet in direct contact with the screen
  • 36. Rotate lenticular sheet until the magnified pixels are vertically aligned</li></li></ul><li>Calibrating the Screen DPI and Lenslet Width:<br />Generating a Calibration Sequence<br />display<br />viewer moves right<br />Calibration Light Field<br />(only the “central view” is visible)<br />
  • 37. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 38. Generate an interlaced image (one white pixel below each lens)
  • 39. When calibration is correct, no magnified stripes will be visible</li></ul> (i.e., screen is white when directly in front of display, otherwise black)<br />
  • 40. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Result (assuming pixel size = 245 mm)<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 41. Generate an interlaced image (one white pixel below each lens)
  • 42. When calibration is correct, no magnified stripes will be visible</li></ul>(i.e., screen is white when directly in front of display, otherwise black)<br />
  • 43. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Result (assuming pixel size = 255 mm)<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 44. Generate an interlaced image (one white pixel below each lens)
  • 45. When calibration is correct, no magnified stripes will be visible</li></ul>(i.e., screen is white when directly in front of display, otherwise black)<br />
  • 46. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Result (assuming pixel size = 258 mm)<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 47. Generate an interlaced image (one white pixel below each lens)
  • 48. When calibration is correct, no magnified stripes will be visible</li></ul>(i.e., screen is white when directly in front of display, otherwise black)<br />
  • 49. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Result (assuming pixel size = 261 mm)<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 50. Generate an interlaced image (one white pixel below each lens)
  • 51. When calibration is correct, no magnified stripes will be visible</li></ul>(i.e., screen is white when directly in front of display, otherwise black)<br />
  • 52. Calibrating the Screen DPI and Lenslet Width:<br />Demonstration<br />Result (assuming pixel size = 271 mm)<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 53. Generate an interlaced image (one white pixel below each lens)
  • 54. When calibration is correct, no magnified stripes will be visible</li></ul>(i.e., screen is white when directly in front of display, otherwise black)<br />
  • 55. Results:<br />Motion Parallax (Numbers)<br />Three Views<br />Ten Views<br />How to demonstrate a 3D display using a 2D display?<br /><ul><li>One solution is to generate a “flip animation” sequence (each view is distinct)
  • 56. Interlaced base images were generated for the “numbers” sequence
  • 57. Results confirm motion parallax up to ten views with the prototype</li></ul>(i.e., 10 LPI lenticular sheet and 100 DPI screen  10 views)<br />
  • 58. Results:<br />Motion Parallax (Textured Planes)<br />How to demonstrate a 3D display using a 2D display?<br /><ul><li>Another solution is to generate a sequence with clear motion parallax
  • 59. Interlaced base images were generated for the “photos” sequence
  • 60. Results confirm motion parallax up to ten views with the prototype</li></ul>(i.e., 10 LPI lenticular sheet and 100 DPI screen  10 views)<br />
  • 61. Constructing a Lenslet-based 3D Display:<br />2D Parallax with Hexagonal Lenslet Arrays<br />Diffuser<br />Hexagonal Lenslet Array<br />Parts List [$70-$250, but only $70 if an existing LCD monitor is used]<br /><ul><li>[1]LCD monitor (e.g, ViewSonic VX2433wm 24′′) [$180]
  • 62. [1] Diffuser (e.g., Grafix R03MT2512 0.003" Matte Acetate 25′′x12′ Roll) [$15]</li></ul> (see: http://www.grafixarts.com/product/Acetate)<br /><ul><li>[1]Fly’s Eye Lenslet Array (e.g., Fresnel Technologies #300) [$55]</li></ul>(see: http://www.fresneltech.com/)<br /><ul><li>Additional mounting hardware (tape, clamps, framing, etc.)</li></li></ul><li>Generating Content:<br />POV-Ray Demonstration (Revisited in 2D)<br />Rendered Light Field<br />Generating Light Fields using POV-Ray<br /><ul><li>Freeware ray tracer (see http://www.povray.org/)</li></li></ul><li>Generating Content:<br />Capturing Light Fields (e.g., Stanford Archive)<br />Acquisition Devices<br />Example Light Field<br />Light Field Photography<br /><ul><li>Examples can be obtained from the (New) Stanford Light Field Archive</li></ul>(see http://lightfield.stanford.edu/)<br /><ul><li> Images can be resampled to produce oblique projections
  • 63. Could be the source of another do-it-yourself project…</li></li></ul><li>Interlacing Content:<br />Evaluating Spatially-Multiplexed Base Images<br />oy<br />wl<br />ox<br />Generating the Interlaced (Base) Image<br /><ul><li>First, evaluate closest lenslet for each pixel  spatial image sample
  • 64. Second, evaluate offset from lenslet center  angular viewpoint</li></li></ul><li>Interlacing Content:<br />MATLAB Implementation<br />Interlaced “Numbers” Sequence<br />
  • 65. Aligning/Calibrating the Lenslet Array:<br />Demonstration<br />Calibration Image<br />Moiré-based Alignment/Calibration<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 66. Generate an interlaced image (one “marker” pattern below each lens)
  • 67. When calibration is correct, no magnified “markers” will be visible</li></ul>(i.e., screen is uniform color when directly in front of display)<br />
  • 68. Aligning/Calibrating the Lenslet Array:<br />Demonstration<br />Calibration Image<br />Moiré-based Alignment/Calibration<br />Calibration Procedure<br /><ul><li>Assign the screen dots-per-inch (DPI) and lenslet width
  • 69. Generate an interlaced image (one “marker” pattern below each lens)
  • 70. When calibration is correct, no magnified “markers” will be visible</li></ul>(i.e., screen is uniform color when directly in front of display)<br />
  • 71. Results:<br />Motion Parallax (Numbers)<br />Four Views<br />Nine Views<br />Demonstrating Motion Parallax<br /><ul><li>Interlaced base images were generated for the “numbers” sequence
  • 72. Results confirm motion parallax up to 8x8 views with the prototype</li></ul>(i.e., 0.09 inch lenslet diameter and 90 DPI screen  8x8 views)<br />
  • 73. Results:<br />Light Field (Toy Humvee and Soldier)<br />viewer moves right<br />Sample Image<br />viewer moves up<br />
  • 74. Results:<br />Light Field (Toy Humvee and Soldier)<br />
  • 75. Results:<br />Light Field (Tarot Cards and Crystal Ball)<br />viewer moves right<br />viewer moves right<br />viewer moves up<br />viewer moves up<br />Sample Image<br />Sample Image<br />
  • 76. Results:<br />Light Field (Tarot Cards and Crystal Ball)<br />
  • 77. Constructing a (Static) Parallax Barrier Display<br />Parts List [$25-$400, but only $25 with existing monitor and laser printer]<br /><ul><li>[1]LCD monitor (e.g, ViewSonic VX2433wm 24′′) [$180]
  • 78. [1]Diffuser (e.g., Grafix R03MT2512 0.003" Matte Acetate 25′′x12′ Roll) [$15]</li></ul> (see: http://www.grafixarts.com/product/Acetate)<br /><ul><li>[1]Printed parallax barrier (e.g., emulsion-based transparency) [$10-$200]</li></ul> (see: http://www.pageworks.com/transparencymasks.html/)<br /><ul><li>Additional mounting hardware (plastic spacer, clamps, framing, etc.)</li></li></ul><li>Constructing a (Dynamic) Parallax Barrier Display<br />Parts List [$515, possibly $515+$250n, where n = # of broken LCDs]<br /><ul><li>[2]High-speed LCD monitor (e.g, ViewSonic VX2265wm FuHzion 22") [$250]
  • 79. [1]Diffuser (e.g., Grafix R03MT2512 0.003" Matte Acetate 25′′x12′ Roll) [$15]</li></ul> (see: http://www.grafixarts.com/product/Acetate)<br /><ul><li>Additional mounting hardware (plastic spacer, clamps, framing, etc.)</li></li></ul><li>Dual-Stacked LCDs:<br />Full-Resolution Display using Dynamic Barriers<br />barrier<br />display<br />Parallax Barrier<br />Static vs. Dynamic Parallax Barrier Displays<br /><ul><li> Static barriers result in reduced (spatial) resolution and brightness</li></li></ul><li>Dual-Stacked LCDs:<br />Full-Resolution Display using Dynamic Barriers<br />Parallax Barrier<br />Static vs. Dynamic Parallax Barrier Displays<br /><ul><li> Static barriers result in reduced (spatial) resolution and brightness
  • 80. Dynamic barriers can eliminate resolution loss
  • 81. Must translate faster than flicker fusion threshold (i.e., 60 Hz)</li></li></ul><li>Dual-Stacked LCDs:<br />Full-Resolution Display using Dynamic Barriers<br />Parallax Barrier<br />Static vs. Dynamic Parallax Barrier Displays<br /><ul><li> Static barriers result in reduced (spatial) resolution and brightness
  • 82. Dynamic barriers can eliminate resolution loss
  • 83. Must translate faster than flicker fusion threshold (i.e., 60 Hz)</li></li></ul><li>Dual-Stacked LCDs:<br />Full-Resolution Display using Dynamic Barriers<br />Parallax Barrier<br />Static vs. Dynamic Parallax Barrier Displays<br /><ul><li> Static barriers result in reduced (spatial) resolution and brightness
  • 84. Dynamic barriers can eliminate resolution loss
  • 85. Must translate faster than flicker fusion threshold (i.e., 60 Hz)</li></ul>While eliminating resolution loss, display is still dim<br />
  • 86. LCD Disassembly:<br />Removing the Case<br />
  • 87. LCD Disassembly:<br />Removing the Case<br />
  • 88. LCD Disassembly:<br />Removing the Case<br />
  • 89. LCD Disassembly:<br />Separating the Power Supply<br />
  • 90. LCD Disassembly:<br />Separating the Power Supply<br />
  • 91. LCD Disassembly:<br />Separating the Controller Board<br />
  • 92. LCD Disassembly:<br />Removing the Backlight<br />
  • 93. LCD Disassembly:<br />Removing the Diffusing/Polarizing Films<br />
  • 94. LCD Disassembly:<br />Cleaning the Spatial Light Modulator<br />
  • 95. Assembled Dual-Stacked LCD Barrier Display<br />Dual-Stacked LCD Construction<br />Rear LCD panel and backlight (unmodified)<br />Plastic spacer<br />Front LCD panel (modified)<br />Replacement linear polarizing sheet<br />
  • 96. Interlacing Content:<br />MATLAB Implementation<br />Interlaced (Rear) Image (1 of 9)<br />Pinhole Array (Front) Image (1 of 9)<br />
  • 97. Interlacing Content:<br />OpenGL Implementation<br />Texture Displayed on “Spanned” Display<br />Mask Synchronization Procedure <br /><ul><li> Dual-head NVIDIA Quadro FX 570 display adapter
  • 98. Each panel connected via DVI (driver ensures synchronization)
  • 99. OpenGL application refreshes front and rear panels</li></li></ul><li>Results:<br />Motion Parallax (Numbers)<br />viewer moves right<br />viewer moves up<br />Light Field<br />Demonstrating Motion Parallax<br /><ul><li>Interlaced base images were generated for the “numbers” sequence
  • 100. A sequence of nine time-shifted pinhole arrays were displayed
  • 101. Results confirm motion parallax with 3x3 views for the prototype</li></ul> (effective refresh rate is 120 Hz / 9 = 13.3 Hz)<br />
  • 102. Course Outline<br /><ul><li>Introduction: History and Physiology
  • 103. Construction Glasses-free 3D Displays
  • 104. Multi-view Rendering using OpenGL
  • 105. Multi-view Interlacing using GLSL
  • 106. Designing Content for Glasses-free 3D Displays
  • 107. Emerging Technology
  • 108. Q & A and Demonstrations</li>

×