230 likes | 397 Views
Juraj Obert FEL ČVUT supervised by Ing . Jan Buri á nek. Multiview Rendering. Outline. Motivation Related Work Rendering Techniques Requirements PerspectiveCube Results Future Work Discussion. Motivation. Inverted image . Object. Optical axis. Pinhole. Motivation.
E N D
JurajObert FEL ČVUT supervised by Ing. Jan Buriánek Multiview Rendering
Outline • Motivation • Related Work • Rendering Techniques • Requirements • PerspectiveCube • Results • Future Work • Discussion Multiview Rendering - Juraj Obert - FEL CVUT
Motivation Inverted image Object Optical axis Pinhole Multiview Rendering - Juraj Obert - FEL CVUT
Motivation Multiview Rendering - Juraj Obert - FEL CVUT
Related Work – Multiperspective Panoramas • Sweeping a window across the image simulates movement in 3D space • Used in Walt Disney’s Pinocchio in 1940 and researched in 1997 by Wood et al. • Fostered a lot of new research Multiview Rendering - Juraj Obert - FEL CVUT
Related Work – X-Slits • X-Slits consist of rays incident with two non-intersecting lines in 3D space • Yield images, which are fundamentally different from perspective images, but look alike (hardly distinguishable for inexperienced users) • Can simulate perspective projections by using spatiotemporal volumes Multiview Rendering - Juraj Obert - FEL CVUT
Related Work – Digital Cubism Multiview Rendering - Juraj Obert - FEL CVUT
Rendering Techniques Multiview Rendering - Juraj Obert - FEL CVUT
Spatiotemporal Volume • Extract frames from input video file, stack them and build a volume texture (x, y, t) • Three important slicing planes: • x-y original frames • y-t pushbroom image • x-t epipolar plane image • Can be used to generate various classes of multiperspective images, such as X-Slits, cyclographs, etc. • Our goal was to develop a tool, which would allow a user to do this in real time y x t Multiview Rendering - Juraj Obert - FEL CVUT
Requirements • Production requirements • Capacity to handle huge amounts of data • Utilization of graphics hardware • Presets for commonly used camera classes • Interactivity • Extensibility • Naive approach • Decompress video file, create a volume texture containing every single frame and store it in video memory • Example: • 19 seconds, 640 x 480, RGB, 24 FPS 400 MB • 2 hours, 1280 x 720, RGB, 24 FPS 450 GB !!! • Video memory capacity of latest ( March 2007) NVIDIA graphics cards – 768 MB • Video memory capacity of upcoming (June 2007) ATI graphics cards – 1024 MB => naive approach will not work for high-definition content !!! Multiview Rendering - Juraj Obert - FEL CVUT
PerspectiveCube - Overview • Octree-based spatial organization of spatiotemporal volumes • GPU memory management based on adaptive assembly of shuffle textures • On-demand loading • Two-level caching mechanism and multithreaded rendering engine for interactivity • Predefined camera types and animation curves • Robust, scalable and GPU-based Multiview Rendering - Juraj Obert - FEL CVUT
PerspectiveCube – Rendering Multiview Rendering - Juraj Obert - FEL CVUT
PerspectiveCube - Caching Multiview Rendering - Juraj Obert - FEL CVUT
Perspective Cube – Demo Multiview Rendering - Juraj Obert - FEL CVUT
Perspective Cube – Demo Multiview Rendering - Juraj Obert - FEL CVUT
Perspective Cube – Demo Multiview Rendering - Juraj Obert - FEL CVUT
Results - Redmond t Resolution: 360 x 240 Length: 148 seconds FPS: 15 24 bpp -------------------------------- STV size 548 MB Shuffle size ~ 128 MB x Original Pushbroom Redmond X-Slits right X-Slits Multiview Rendering - Juraj Obert - FEL CVUT
Results – Langweil’s Prague Pushbroom Original Resolution: 720 x 480 Length: 30 seconds FPS: 15 24 bpp STV size 445 MB Shuffle size ~ 64 MB Multiview Rendering - Juraj Obert - FEL CVUT
Future Work • Explicit camera ray representation • Depart from spatiotemporal volumes and use ray-based techniques • More freedom vs. higher productivity • Non-planar projection surfaces • Even though already supported in code, practical applications still require thorough research • Problems with unwrapping • Integration with existing modeling systems • Access to ray tracing engine, which is necessary for ray-based rendering • Unwrapping for non-planar projection surfaces • User interfaces • Controls for perspective camera manipulation are too restrictive for multiperspective cameras • How would one map one ray per pixel ? • Performance • Effect of used video compression schemes, frame extraction scheduling algorithm, video memory management • Bottleneck is shuffle texture assembly and frame decompression Multiview Rendering - Juraj Obert - FEL CVUT
Conclusion • Ray-based techniques amenable to ray tracing engines, but not to programmable graphics devices • PerspectiveCube – system for GPU slicing of spatiotemporal volumes • Octree-based spatial organization and smart texture assembly algorithm for video memory waste minimization • Interactivity due to two-level caching mechanism and multithreaded rendering • Scalability in terms of video memory size • Support for animation • Presets for commonly used multiperspective camera types • In the future • Push for ray-based techniques as ray tracing hardware gets developed • Don’t necessarily require that programmable graphics devices be used,CPU can be faster sometimes Multiview Rendering - Juraj Obert - FEL CVUT
Thank you • Questions ? Multiview Rendering - Juraj Obert - FEL CVUT