Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller.

Slides:



Advertisements
Similar presentations
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
Advertisements

ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
1 Parallel Scientific Computing: Algorithms and Tools Lecture #2 APMA 2821A, Spring 2008 Instructors: George Em Karniadakis Leopold Grinberg.
Topology-Caching for Dynamic Particle Volume Raycasting Jens Orthmann, Maik Keller and Andreas Kolb, University of Siegen.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
A Coherent Grid Traversal Algorithm for Volume Rendering Ioannis Makris Supervisors: Philipp Slusallek*, Céline Loscos *Computer Graphics Lab, Universität.
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
Ray-casting in VolumePro™ 1000
The Discrete Ray-casting Algorithm Qiang Xue Jiaoying Shi State Key Lab Of CAD&CG Zhejiang University.
A Hardware-Assisted Hybrid Rendering Technique for Interactive Volume Visualization Brett Wilson Kwan-Liu Ma University of California, Davis Patrick S.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
Efficient Sparse Voxel Octrees
Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL.
A many-core GPU architecture.. Price, performance, and evolution.
Distributed Interactive Ray Tracing for Large Volume Visualization Dave DeMarle Steven Parker Mark Hartner Christiaan Gribble Charles Hansen.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Introduction to Volume Rendering Presented by Zvi Devir.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
CE6105 Linux 作業系統 Linux Operating System 許 富 皓. Chapter 2 Memory Addressing.
Domitilla Catacomb Walkthrough Claus Scheiblauer Institute of Computer Graphics and Algorithms Vienna University of Technology.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
DDDDRRaw: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Thu D. Nguyen and Christopher Peery Department of Computer Science.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Hardware-Based Nonlinear Filtering and Segmentation using High-Level Shading Languages I. Viola, A. Kanitsar, M. E. Gröller Institute of Computer Graphics.
Accelerating Marching Cubes with Graphics Hardware Gunnar Johansson, Linköping University Hamish Carr, University College Dublin.
VOTS VOlume doTS as Point-based Representation of Volumetric Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller Institute of Computer Graphics and.
Fast Isosurface Visualization on a High-Resolution Scalable Display Wall Adam Finkelstein Allison Klein Kai Li Princeton University Sponsors: DOE, Intel,
A Multiresolution Volume Rendering Framework for Large-Scale Time- Varying Data Visualization Chaoli Wang 1, Jinzhu Gao 2, Liya Li 1, Han-Wei Shen 1 1.
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Digital Graphics and Computers. Hardware and Software Working with graphic images requires suitable hardware and software to produce the best results.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Interactive Volume Visualization of General Polyhedral Grids Philipp Muigg 1,3, Markus Hadwiger 2, Helmut Doleisch 3, M. Eduard Gröller 1 1, Vienna University.
Efficient Volume Visualization of Large Medical Datasets Stefan Bruckner Institute of Computer Graphics and Algorithms Vienna University of Technology.
REAL-TIME VOLUME GRAPHICS Markus Hadwiger VRVis Research Center, Vienna Eurographics 2006 Real-Time Volume Graphics [04] GPU-Based Ray-Casting.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Introduction Computer Organization and Architecture: Lesson 1.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
12/4/2001CS 638, Fall 2001 Today Managing large numbers of objects Some special cases.
1 Linux Operating System 許 富 皓. 2 Memory Addressing.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Caching Imagery Using ArcGIS
Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
Large Scale Time-Varying Data Visualization Han-Wei Shen Department of Computer and Information Science The Ohio State University.
Motivation Properties of real data sets Surface like structures
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Compact, Fast and Robust Grids for Ray Tracing
Volume Ray-Casting on Graphics Hardware
Unit C-Hardware & Software1 GNVQ Foundation Unit C Bits & Bytes.
What is it and why do we need it? Chris Ward CS147 10/16/2008.
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
Wei Hong, Feng Qiu, Arie Kaufman Center for Visual Computing and Department of Computer Science, Stony Brook University
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Memory Hierarchy and Cache. A Mystery… Memory Main memory = RAM : Random Access Memory – Read/write – Multiple flavors – DDR SDRAM most common 64 bit.
Electronic Visualization Laboratory University of Illinois at Chicago “Fast And Reliable Space Leaping For Interactive Volume Rendering” by Ming Wan, Aamir.
Hardware specifications
Ramya Kandasamy CS 147 Section 3
Hybrid Ray Tracing of Massive Models
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
An Analysis of Region Clustered BVH Volume Rendering on GPU
Presentation transcript:

Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller Institute of Computer Graphics and Algorithms Vienna University of Technology Vienna, Austria

Sören GrimmVienna University of Technology 2 Motivation (1/3) Direct Volume Rendering: Direct Volume Rendering: Important tool in medical environments CT angiography CT angiography run-offs (> 1000 slices) are clinical practice Scanner resolutions are Scanner resolutions are getting higher (1024x1024 per slice) Efficient data memory layout essential!

Sören GrimmVienna University of Technology 3 Test hardware specifications: Notebook: Pentium M 1.6 GHz Pentium M 1.6 GHz 1 GB RAM 1 GB RAM GeForce 4 GO (32 MB) GeForce 4 GO (32 MB) Motivation (2/3) - Goals Interactive rendering/handling of large datasets up to 1 GB Interactive rendering/handling of large datasets up to 1 GB Support of heterogeneous PC hardware environment Support of heterogeneous PC hardware environment Smart combination and modification of known methods!

Sören GrimmVienna University of Technology 4 Motivation (3/3) Hierarchy of successively larger but slower memory technology Hierarchy of successively larger but slower memory technology Avoid frequent access to slower levels Avoid frequent access to slower levels Exploit spatial and temporal locality Exploit spatial and temporal locality L1 cache Main memory L2 cache Hard disk CPU Memory hierarchy

Sören GrimmVienna University of Technology 5 Outline Memory Layout & Data Processing Scheme Memory Layout & Data Processing Scheme Gradient Caching Gradient Caching Empty Space Skipping Empty Space Skipping Parallelization & Features Parallelization & Features Results Results

Sören GrimmVienna University of Technology 6 Linear Memory Layout (1/2) Memory storage order 2D Slice

Sören GrimmVienna University of Technology 7 Linear Memory Layout (2/2) Rays Store volume as a stack of 2D images (slices) Volume View dependent cache behavior!

Sören GrimmVienna University of Technology 8 Bricked Memory Layout (1/2) Memory storage order 2D Slice

Sören GrimmVienna University of Technology 9 Bricked Memory Layout (2/2) Volume Rays Store volume as a set of equally sized cubes (bricks) Constant cache behavior!

Sören GrimmVienna University of Technology 10 Bricked-wise Processing Volume Rays Processing of all resample locations is done brick-wise High Cache Coherence!

Sören GrimmVienna University of Technology 11 Outline Memory Layout & Data Processing Scheme Memory Layout & Data Processing Scheme Gradient Caching Gradient Caching Empty Space Skipping Empty Space Skipping Parallelization & Features Parallelization & Features Results Results

Sören GrimmVienna University of Technology 12 Gradient Caching (1/3) Pre-computed gradients Pre-computed gradients  High performance  For sufficient quality, memory requirements are at least doubled Compute gradients on-the-fly Compute gradients on-the-fly  Calculation expensive  No additional storage requirement

Sören GrimmVienna University of Technology 13 Gradient Caching (2/3) To accelerate calculation  Caching of gradients To accelerate calculation  Caching of gradients Brick-wise traversal allows to use a brick-sized gradient cache which can be re-used for each brick Brick-wise traversal allows to use a brick-sized gradient cache which can be re-used for each brick Cell

Sören GrimmVienna University of Technology 14 Gradient Caching (3/3) Volume Rays Gradient cache One brick-sized gradient cache One brick-sized gradient cache Constant very small memory requirement Constant very small memory requirement

Sören GrimmVienna University of Technology 15 Outline Memory Layout & Data Processing Scheme Memory Layout & Data Processing Scheme Gradient Caching Gradient Caching Empty Space Skipping Empty Space Skipping Parallelization & Features Parallelization & Features Results Results

Sören GrimmVienna University of Technology 16 Empty Space Skipping (brick-level) Min-Max info contained in brick used for discarding empty regions Min-Max info contained in brick used for discarding empty regions Template based brick projection to rasterize depth values Template based brick projection to rasterize depth values In software, very fast for orthographic projections In software, very fast for orthographic projections

Sören GrimmVienna University of Technology 17 Empty Space Skipping (octree-level) Each brick contains three-level octree Each brick contains three-level octree Caching of classification information Caching of classification information Stored in linearized octree using hierarchy compression Stored in linearized octree using hierarchy compression Octree goes down to 4x4x4 voxels Octree goes down to 4x4x4 voxels Template based projection Template based projection Transparent Inhomogeneous Opaque Min-Max and classification caching increase the memory requirements by approx. 4%

Sören GrimmVienna University of Technology 18 Cell Invisibility Cache (1/2) Not skipped by octree Example ray Skipped by octree

Sören GrimmVienna University of Technology 19 Cell Invisibility Cache (2/2) Visible Classi- fication Re-sampling Gradient- Estimation Compositing Shading Advance ray CIC Visible YES NO YES CIC increase the memory requirements by approx. 6%

Sören GrimmVienna University of Technology 20 Empty Space Skipping Project all non-transparent bricks onto image plane to find first entry points of rays Project all non-transparent bricks onto image plane to find first entry points of rays For finer resolution, use a min-max octree per brick and project the octree For finer resolution, use a min-max octree per brick and project the octree Cell Invisibility Cache Cell Invisibility Cache All these acceleration techniques increase the memory requirements by just 10%

Sören GrimmVienna University of Technology 21 Outline Memory Layout & Data Processing Scheme Memory Layout & Data Processing Scheme Gradient Caching Gradient Caching Empty Space Skipping Empty Space Skipping Parallelization & Features Parallelization & Features Results Results

Sören GrimmVienna University of Technology 22 Parallelization / Hyper Threading Advancing Ray-front 1D Screen Phy. CPU 1 Phy. CPU 2 [Law and Yagel 1996] Log. CPU 1 Log. CPU 2 Log. CPU 1 Log. CPU 2

Sören GrimmVienna University of Technology 23 Features High quality Multiple segmented object and Transfer- functions Transfer- functions on clipping planes View aligned and axis aligned cutting planes

Sören GrimmVienna University of Technology 24 Outline Memory Layout & Data Processing Scheme Memory Layout & Data Processing Scheme Gradient Caching Gradient Caching Empty Space Skipping Empty Space Skipping Parallelization & Features Parallelization & Features Results Results

Sören GrimmVienna University of Technology 25 Results (1/3) - Bricking Brick size in kilo-byte linear volume layout cache thrashing + bricking overhead Optimal brick size Speedup factor Speedup: 2.8 Linear vs. bricked memory layout Cache size: 512 KB

Sören GrimmVienna University of Technology 26 Results (2/3) – Gradient Caching Speedup: 3.4 Speedup: 2.7 Pentium M 1.6 GHz 1 GB RAM

Sören GrimmVienna University of Technology 27 Pentium M 1.6 GHz 1 GB RAM Results (3/3) - Performance

Sören GrimmVienna University of Technology 28 Conclusions Sub second frame rates for large datasets on a standard notebook Sub second frame rates for large datasets on a standard notebook Fully interactive volume visualization of large data on commodity hardware is within reach Fully interactive volume visualization of large data on commodity hardware is within reach Alternative memory layouts are the key to handling large datasets Alternative memory layouts are the key to handling large datasets

Sören GrimmVienna University of Technology 29 Intel Pentium M 1600 MHz (software capture) Visible Male (587 x 341 x 1878) Questions?

Thank you for your attention Institute of Computer Graphic and Algorithms Sponsored by Tiani MedGraph AG