1
On-the-Fly Transformation and Rendering of
Compressed Irregular Volume Data
Chuan-kai YangDepartment of Computer Science
State University of New York at Stony Brook
2
Volume Rendering
Raycasting: direct volume rendering:
3
Raycasting Opacity, Color
f
4
IrregularRegular
Regular/Irregular Grids
Cartesian grids rectilinear grids curvilinear grids
unstructured/tetrahedral gridshybrid grids
5
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?
6
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
7
What’s Next? Visualization is too slow!Volume Simplification!
8
Surface Simplification
9
Volume Simplification
original
80% simplified
10
Volume Simplification – Contd.
original 80% simplified 95% simplified
original 80% simp., metric 180% simp., metric 2
11
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
12
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
13
On-the-Fly Rendering of Compressed Irregular
Grids
Tetrahedron compression Garrity-Hong-Bunyk’s rendering Gatun’s rendering Performance results
14
Tetrahedron Compression – 1
Represent the “fourth vertex” implicitly:
Edge-adjacent face
cur
fourth vertex
15
Tetrahedron Compression – 2
Vertex-adjacent face
cur
fourth vertex
New Vertex Index
16
Garrity-Hong-Bunyk’s Algo.
17
G-H-B’s Algorithm – Contd.
18
Gatun’s Inward Compression
19
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
20
Decompression Order
Tetrahedron decompression order may not be favored by the renderer
ab
A B
E
Decompressed order:
A, B, C, D, E
C
D
Check face projections
Vertex projection
Classification
21
Classification
Using at most four cross-products, the projection of a given tetrahedron can be classified
22
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”
23
Decomp. Order, Revisited
What if D, E are decompressed first?
AB
EC
D
24
Bi-directional Rendering
Data set segment
sub-segsub-seg
high watermark
low watermark
25
Performance Results
1
10
100
1000
10000
128x128 256x256 512x512 1024x1024
Generic 320M Gatun 320M Generic 160M
Gatun 160M Generic 80M Gatun 80M
1
10
100
1000
10000
128x128 256x256 512x512 1024x1024
Generic 320M Gatun 320M Generic 160M
Gatun 160M Generic 80M Gatun 80M
Liquid Oxygen Post Delta Wing
26
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%
27
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
28
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
29
Static Volume Simplification
Gelder ’99
116
8
74
98
7 4
6
98
74
6
9
8
74
6
98
74
6
98
74
6
9
30
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
31
Run-time Volume Simplification
8
6 2 13
3104111
5 7
1412
9 15
1
7 9 5
4810
136
212
14
3 11
Merge Tree
15 vertices14 vertex merges
Example: 7 vertex merges
32
Decomp. & Simp. & Rendering
A
B
C
D
E
F
A
B
C
D
E
F
1
Rendering
G2
Vertex C: 2
3
3
Discard
2
Discard
4 Rendering
Rendering
Rendering
GC
33
Performance ResultsGenericGatun2
blunt-fin
0
1
2
3
4
5
6
7
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
simplification ratio
rend
erin
g tim
e (s
ec)
fighter
0
0.5
1
1.5
2
2.5
3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
simplification ratio
rend
erin
g tim
e (s
ec)
Simplification overhead: less then 5% of total execution time
34
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
35
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
36
Multi-resolution Pre-simp.
Pre-simplified configurations Simplification ratio= 1 – 2-i, i= 0, 1, 2,
… Compression overhead is fixed
verticesof #
verticessimplified of # ratiotion simplifica
0 10.5 0.75 0.875 …
37
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
38
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
39
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
40
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
41
Layered Representation
Value-based decomposition v.s. Space-based decomposition
42
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
43
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
44
Compression Domain Rendering of Regular
Grids
Whole volume FPST Pros and cons
Block-based FPST Pros and cons
45
Whole Volume FPST
slice
2D FourierTransformImage plane
Spatial domain
3D FourierTransform
Frequency domain
projection
(X-ray like images)
Dunne et al. 90 and Malzbender et al. 93
46
Pros and Cons
Asymptotically faster Aliasing and ghost effects along
boundary Xray-like, lack of self-occlusion
47
Block-Based FPST
2D 3D
Chiueh et al. 97
48
Pros and Cons
Approximated self-occlusion Aliasing and ghost effects along block
boundary Approximation with average Overlapped partition or not?
49
Out-of-Core, I/O Conscious
Volume Rendering
Masking I/O by Computation! How to load blocks in a correct order?
Image plane
1
2
3
4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
y
x
50
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!
51
Zodiac:A Video Authoring System
52
Further Optimizations
Wasted effort on small tetrahedrons Pre-filtering Non-filtered and no-contribution
rate: < 10% Early-ray termination
Pseudo early-ray termination Single-segment rate:
> 90%
A B
CD
Top Related