520 likes | 673 Views
On-the-Fly Transformation and Rendering of Compressed Irregular Volume Data. Chuan-kai Yang Department of Computer Science State University of New York at Stony Brook. Volume Rendering. Raycasting: direct volume rendering:. Opacity, Color. f. Raycasting. Irregular. Regular.
E N D
On-the-Fly Transformation and Rendering of Compressed Irregular Volume Data Chuan-kai Yang Department of Computer Science State University of New York at Stony Brook
Volume Rendering • Raycasting: direct volume rendering:
Opacity, Color f Raycasting
Irregular Regular curvilinear grids rectilinear grids hybrid grids unstructured/tetrahedral grids Regular/Irregular Grids Cartesian grids
Huge Data Sets • Technological advances in data acquisition devices • Data irregularity Huge data sets data sets are stored in compressed format • How to render a compressed data set?
Strategies • Decompression before rendering • Latency, data loading time, memory requirement • On-the-fly decompression during rendering • On-the-fly rendering during decompression • Rendering in the compression domain
What’s Next? • Visualization is too slow! Volume Simplification!
Volume Simplification original 80% simplified
Volume Simplification – Contd. original 80% simplified 95% simplified original 80% simp., metric 1 80% simp., metric 2
Outline • Related work • One-the-fly rendering of compressed irregular grids – Gatun1 • On-the-fly simplification and rendering of compressed irregular grids – Gatun2 • Time-critical rendering • Conclusion • Future/past work
Outline • On-the-fly rendering of compressed irregular grids • On-the-fly simplification and rendering of compressed irregular grids • Time-critical rendering • Conclusion • Future/past work
On-the-Fly Rendering of Compressed Irregular Grids • Tetrahedron compression • Garrity-Hong-Bunyk’s rendering • Gatun’s rendering • Performance results
Tetrahedron Compression – 1 Represent the “fourth vertex” implicitly: • Edge-adjacent face fourth vertex cur
Tetrahedron Compression – 2 • Vertex-adjacent face fourth vertex cur • New Vertex • Index
Gatun’s Rendering • G-H-B’s algorithm is already very fast, so we try to reduce the memory footprint… • Principle 1: once a decompressed tetrahedron is rendered, it can be thrown away (Garbage collection!) • Principle 2: a decompressed tetrahedron should be rendered as soon as possible
Decompression Order • Tetrahedron decompression order may not be favored by the renderer Decompressed order: A, B, C, D, E b Check face projections B a A C Vertex projection E D Classification
Classification • Using at most four cross-products, the projection of a given tetrahedron can be classified
Readiness Check • A tetrahedron becomes “ready” only if the projection of its processed faces can cover its projection • Once a tetrahedron is rendered, all of its “unprocessed” faces become “processed” • Boundary faces first become “processed”
Decomp. Order, Revisited • What if D, E are decompressed first? B A C E D
sub-seg high watermark low watermark sub-seg Bi-directional Rendering Data set segment
Performance Results Liquid Oxygen Post Delta Wing
Performance Results – Contd. • Six data sets: 180K to 1M tetrahedra • Out-of-core: one or two order of magnitudes better • In-core: 30% improvement • Peak memory Saving: 50% to 70%
Outline • On-the-fly rendering of compressed irregular grids • On-the-fly simplification and rendering of compressed irregular grids • Time-critical rendering • Conclusion • Future/past work
On-the-Fly Simp. and Rend. of Compressed Irregular Grids • Static volume simplification • Run-time volume simplification • On-the-fly simplification and rendering of compressed irregular grids • Performance results
7 4 7 4 6 8 6 9 8 9 7 7 7 4 4 4 6 6 6 8 8 8 9 9 9 Static Volume Simplification Gelder ’99 7 4 11 6 8 9
Static Volume Simp. – Contd. • Priority queue is used to build the simplification hierarchy • Each “vertex merge” is associated with a “rank” • Build the merge-trees structure
Run-time Volume Simplification Merge Tree Example: 7 vertex merges 8 5 7 9 6 2 13 1 14 8 10 4 11 1 4 10 3 11 13 3 6 5 7 9 15 12 2 15 vertices 14 vertex merges 12 14
Discard Discard Rendering Rendering Rendering Rendering 3 2 2 Decomp. & Simp. & Rendering C C D D B B 4 3 2 G E E A A 1 GC F F Vertex C:
Performance Results Generic Gatun2 Simplification overhead: less then 5% of total execution time
Outline • On-the-fly rendering of compressed irregular grids • On-the-fly simplification and rendering of compressed irregular grids • Time-critical rendering • Conclusion • Future/past work
Time-critical Rendering What’s missing? • Determine the simplification ratio • Fixed frame rate • Decompression overhead • More than 50% of total execution time at simplification ratio 0.9
0 0.5 0.75 0.875 … 1 Multi-resolution Pre-simp. • Pre-simplified configurations • Simplification ratio= 1 – 2-i, i= 0, 1, 2, … • Compression overhead is fixed
Outline • On-the-fly rendering of compressed irregular grids • On-the-fly simplification and rendering of compressed irregular grids • Time-critical rendering • Conclusion • Future/past work
Conclusion • A powerful scheme of combining lossless and lossy volume compressions in one framework • <2.5 bits/tetra • RMSE<0.12 (range: 0 – 255) at simp. ratio 0.9 • Capable of time-critical rendering
Outline • On-the-fly rendering of compressed irregular grids • On-the-fly simplification and rendering of compressed irregular grids • Time-critical rendering • Conclusion • Future/past work
Future Work • Integration of compression, (view-independent of view-dependent) simplification and rendering for surface or volumetric meshes • Layered representation for out-of-core iso-surface extraction
Layered Representation • Value-based decomposition v.s. Space-based decomposition
Algorithm • Sub-range (layer) calculation • Histogram: each sub-range should capture roughly the same number of tetrahedra • Distribution: each tetrahedron is sent to the sub-range that intersects it • Binary search to locate a sub-range for a given iso-value query
Discussion • Always a roughly fixed proportion is touched • More friendly to triangle strips generation • Each sub-mesh may be compressed • On-the-fly iso-surface extraction of compressed irregular grids
Compression Domain Rendering of Regular Grids • Whole volume FPST • Pros and cons • Block-based FPST • Pros and cons
Spatial domain Frequency domain q q slice 3D Fourier Transform projection 2D Fourier Transform (X-ray like images) Image plane Whole Volume FPST Dunne et al. 90 and Malzbender et al. 93
Pros and Cons • Asymptotically faster • Aliasing and ghost effects along boundary • Xray-like, lack of self-occlusion
Block-Based FPST Chiueh et al. 97 3D 2D
Pros and Cons • Approximated self-occlusion • Aliasing and ghost effects along block boundary • Approximation with average • Overlapped partition or not?
x 1 5 9 13 2 6 10 14 y 3 7 11 15 4 8 12 16 Out-of-Core, I/O Conscious Volume Rendering • Masking I/O by Computation! • How to load blocks in a correct order? Image plane 2 1 3 4
Automatic Application-Specific File Prefetching System • Source-to-Source I/O related code extraction • Modify Kernel to schedule the prefetch thread far ahead • Automatic I/O prefetching!