3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.

Slides:



Advertisements
Similar presentations
LOD Map – A Visual Interface for Navigating Multiresolution Volume Visualization Chaoli Wang and Han-Wei Shen The Ohio State University Presented at IEEE.
Advertisements

Reconstruction from Voxels (GATE-540)
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
An Introduction to Light Fields Mel Slater. Outline Introduction Rendering Representing Light Fields Practical Issues Conclusions.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Interactive High-Quality Volume Rendering on Flexible Consumer Graphics Hardware Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive Systems.
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
The Discrete Ray-casting Algorithm Qiang Xue Jiaoying Shi State Key Lab Of CAD&CG Zhejiang University.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Introduction to Volume Rendering Presented by Zvi Devir.
Streaming QSplat: A Viewer for Networked Visualization of Large, Dense Models Szymon Rusinkiewicz Marc Levoy Stanford University.
1 Image-Based Visual Hulls Paper by Wojciech Matusik, Chris Buehler, Ramesh Raskar, Steven J. Gortler and Leonard McMillan [
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
Fast Isosurface Visualization on a High-Resolution Scalable Display Wall Adam Finkelstein Allison Klein Kai Li Princeton University Sponsors: DOE, Intel,
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
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.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Abstract: Digital 3D models are used in industry during the design process. Our client, Siemens PLM, creates software to allow these businesses to view.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Volumetric and Blobby Objects Lecture 8 (Modelling)
CS 1308 Computer Literacy and the Internet. Creating Digital Pictures  A traditional photograph is an analog representation of an image.  Digitizing.
Efficient Volume Visualization of Large Medical Datasets Stefan Bruckner Institute of Computer Graphics and Algorithms Vienna University of Technology.
Culling Techniques “To cull” means “to select from group” In graphics context: do not process data that will not contribute to the final image The “group”
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Image-based rendering Michael F. Cohen Microsoft Research.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
An Enhanced Splatting Method Graphics and Visualization Group Department of Computer Science The University of Auckland Peter Kulka & Richard Lobb.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
Volume Visualization Presented by Zhao, hai. What’ volume visualization Volume visualization is the creation of graphical representations of data sets.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Volume Visualization with Ray Casting
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
3-D WAVELET BASED VIDEO CODER By Nazia Assad Vyshali S.Kumar Supervisor Dr. Rajeev Srivastava.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
Atmospheric Effects Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware Tsuyoshi Yamamoto Tomoyuki Nishita Tokyo 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.
1 Interactive Volume Isosurface Rendering Using BT Volumes John Kloetzli Marc Olano Penny Rheingans UMBC.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Progressive Transmission and Rendering of Foveated Volume Data
Tuning JPEG2000 Image Compression for Graphics Regions
Paper -5 Multiresolution volume visualization with
Presentation transcript:

3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University of Tübingen, DE IEEE Visualization 2002 Boston, MA Presented by James R. McGirr – CS526 UIC

3/16/04James R. McGirr2 Overview of Paper Algorithm for rendering very large volume data sets at interactive framerates on standard PC hardware. Algorithm takes scalar data sampled on a regular grid as input Data is compressed into a hierarchical wavelet representation in a preprocessing step During rendering, the data is decompressed on-the-fly, and rendered using hardware texture mapping

3/16/04James R. McGirr3 Motivation Many areas in medicine, computational physics, biology, etc, deal with large volumetric data sets that demand adequate visualization. Direct Volume Rendering – Each point in space is assigned a density for the emission and absorption of light and the volume renderer computes the light reaching the eye along viewing rays. Can be done efficiently using texture mapping hardware – volume is discretized into textured slices that are blended over each other using alpha blending. This can now be done in real time on standard off the shelf PCs. The main draw back is that this is only doable with small data sets voxel data set is currently infeasible. What are we going to do?

3/16/04James R. McGirr4 IDEA ► ► Hierarchical wavelet representation – Data Compression ► ► Projective Classification   View-dependent Priority Schedule ► ► Caching

3/16/04James R. McGirr5 Overview of Wavelet Hierarchy The data volume is stored as a hierarchy of wavelet coefficients (In an octree) Only the levels of detail necessary for display will be decompressed and sent to the texture hardware. Typical compression of 30:1 without noticeable artifacts in the image. Visible human data set can be stored in 222MB instead of 6.5GB During Rendering, local frequency spectrum can be analyzed and the appropriate rendering resolution can be determined.

3/16/04James R. McGirr6 Octree Construction Algorithm ► ► Data divided into cubic blocks of (2k) 3 voxels.   k typically 16 ► ► Wavelet filter applied to each block. Produces a lowpass filtered block of k 3 voxels and (2k) 3 -k 3 wavelet coefficients. ► ► Group a cube of 8 adjacent lowpass filtered blocks together and apply the filtering algorithm to this block. ► ► Continue recursively till only a single block remains.

3/16/04James R. McGirr7 Octree Construction... kk k k k k k k k (2k) 3 – k 3 Wavelet Coeff. + filter Note : Filter they used was a linearly interpolating spline wavelet

3/16/04James R. McGirr8 Final Octree... k3k3 k3k3 k3k3 k3k3 C C C C k3k3 C k3k3 C Resolution increases by a factor of 2 each level you go down C Contains the wavelet coefficients. Needed to reconstruct the children nodes 

3/16/04James R. McGirr9 Comments on the Coefficients ► For k=16, we have ~29,000 coefficients per node. ► Wavelet coefficents of low importance are discared  Threshold at which all values lower are mapped to zero. Setting Threshold to zero leads to lossless compression. (4:1 for typical data sets) ► They are encoded in a compact bit stream  Run-length encoding combined with Huffman encoding  Arithmetic encoding - increase compression ratio of ~15% compared to Run-length Huffman encoding

3/16/04James R. McGirr10 Rendering ► We now have the data represented in a multi-resolution octree. ► Use projective classification to pick which nodes to render using hardware texture mapping.

3/16/04James R. McGirr11 Projective Classification ► Extract nodes from the tree that have the same resolution as the display resolution. ► Exclude all nodes outside of the view frustum.

3/16/04James R. McGirr12 Projective Classification Algorithm ► Start at the root and traverse the tree recursively. ► For each node, test if it is located outside the view frustum. If so, ignore it and stop. ► Compare the spacing between the voxel grid and the screen resolution. If equal or smaller, then send to the renderer. Otherwise subdivide the node and repeat ► Results in O(log n) rendering time. ► Problem is very large constant in the big O Notation. ► E.G. For a close-up of a volume with a depth of 2048 voxels, the algorithm obtains more than 230 million voxels after projective classification. ► This is 4X more than the texture memory of a typical graphics board (64MB)

3/16/04James R. McGirr13 What do we do now? Need a refined classification criterion  Nodes that are near the viewer have a higher priority  Know maximum amount of voxels that can be processed in the rendering stage. Stop once this is reached.  Use a priority queue, based on distance from the viewer and weighted by the amount of detail in the region obtained from the coefficent data. slice s viewer| viewing plane ► View-dependent priority Schedule.

3/16/04James R. McGirr14 Caching ► So far so good, but we would still not be able to perform an interactive walkthrough if we decompressed the wavelet representation from scratch for each frame. Store decompressed volume blocks from the octree. Coefficients need not be stored. User defines fixed amount of cache memory Must create 3D textures from the cache (OpenGL texture objects) Texture objects must be uploaded to the texture memory. Done automatically by the OpenGL driver

3/16/04James R. McGirr15 Results ► Algorithm was implemented in C++ using OpenGL with nVidia extensions for rendering. ► 2Ghz Pentium 4 PC with 1GB RAM ► nVidia GeForce 4 Ti4600 graphics board with 128MB local video memory

3/16/04James R. McGirr16 Data Sets Examined ► CT scan of a Christmas Tree  512 x 512 x 999 voxel with 12 bits per voxel ► Visible Human Male  2048 x 1216 x 1877 voxel RGB ► Visible Human Woman  2048 x 1216 x 1734 voxel RGB ► Rendering were made using gradient based lighting and a classification function with several semi-transparent iso-surfaces.

3/16/04James R. McGirr17 Statistics ► Run-length Huffman encoding **Used  decompression speed of 50 MB/s ► Arithmetic encoding  decompression speed of 4.5 MB/s  10-15% higher compression than Huffman. ► Resolution of the output images are pixels ► Chirstmas tree compressed using lossless compression (3.4:1) ► Visible human compressed using lossy compression (man 30:1, woman 40:1) ► Preprocessing Time : Xmas 1Hr, VH 5Hr each  These times are dominated by hard disk access (CPU utilization only 6-7% during compression)

3/16/04James R. McGirr18 More Results ► The more blocks used, the higher the quality of the image.  2048 blocks -> 3-4 f.p.s  1024 blocks -> 7 f.p.s  512 blocks -> 10 f.p.s ► Cache efficiency very high. For the high quality rendering, only blocks have to be decompressed per frame and textures have to be constructed on average ► If Caching is deactivated, average framerate falls to 0.3 f.p.s. for all test scenes.

3/16/04James R. McGirr19 And some more results ► For the walkthrough animation that you will see in a second...  6% of time spent for decompression  5% gradient calculations  1% uploading textures to graphics board  88% rendering  So the processor spends most of the time waiting for the graphics hardware.

3/16/04James R. McGirr20 Conclusion ► Algorithm presented in the paper uses a hierarchical wavelet representation to store very large data sets in main memory. ► Algorithm extracts the levels of detail necessary for the current view point on-the-fly. ► By using intelligent caching, interactive walkthroughs of large data sets are feasible.

3/16/04James R. McGirr21 References ► Interactive Rendering of Large Volume Data Sets : Stefan Guthe, Michael Wand, Julius Gonser, Wolfgang Stasser : IEEE Vis ► Real-time Decompression and Visualization of Animated Volume Data : Stefan Guthe, Wolfgang Strasser : IEEE 2001 ► Interactive Lighting Models and Pre-Integration for Volume REndering on PC Graphics Accelerators : Michael Meissner, Stefan Guthe, Wolfgang Stasser

3/16/04James R. McGirr22 ¿ Questions ?