Title: TimeCritical Volume Rendering
1Time-Critical Volume Rendering
- Han-Wei Shen and Xinyue Li
- Department of Computer and Information Science
- The Ohio State University
2 Volume Rendering
3Current Challenge
- Big data problem
- Large data size ( 512M) makes interactive
volume rendering difficult
- High computational cost
- High main memory / texture memory
requirement
- Large-scale data has become common for both
scientific and medical applications
4Possible Solutions
- Parallel software/hardware algorithms
- Hierarchical data representations
- trade image quality for speed
5Hierarchical Volume Representation
Error measure
Error measure
Raw Data
6 Quality vs. Speed
- Run-time tradeoff is controlled by the error
tolerance
- Usually specified by the user at run time
- A good error tolerance requires extensive
knowledge about the data
- Difficult to predict the execution time
associated with a particular error tolerance
- View dependent
- Transfer function dependent
- Machine dependent
7 Automatic Control
- Is it possible to control the error tolerance
automatically?
- Goals
- Time-critical computation automatically adapt
to the user-specified performance goal
- Adaptive rendering - render regions of different
importance using different error tolerances
- Algorithm and machine independent
8 Previous Work
- Adaptive level of detail selection
- Two approaches and their challenges
- Reactive difficult to
- Maintain a constant frame rate
- Adjust error threshold appropriately
- Predictive difficult to
- Predict the volume rendering execution time
9 New Approach
- An intra-frame predictive-reactive algorithm
-
- Break the rendering task into small subtasks
- Monitor the performance of each rendering
subtask
- Predict the rendering time for each subtask based
on the past experience
- Adjust the error tolerance whenever necessary
10Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
11Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
12Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
13Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
14Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
15Algorithm Overview
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
16 Key Issues
- How to budget the rendering time for each
subvolume?
- How to predict the rendering time for the next
subvolume?
- How to adjust error tolerance?
17 Budget Rendering Time
Render subvolume
Subdivide volume into subvolumes
Budget rendering time for next subvolume
Predict rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
18 Budget Rendering Time
- Based on importance value
- Each subvolume Vi is assigned an
- importance value Ii
- Sum up all the importance values to I
- Given the total rendering time T, then each
subvolume is allocated
- Ti T x Ii / I
- Importance value distance to gaze direction,
transparency, standard deviation, etc
19 Rendering Time Prediction
Render subvolume
Subdivide volume into subvolumes
Predict rendering time for next subvolume
Budget rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
20 Rendering Time Prediction
- Based on several factors
- Number of voxels (of various resolutions)
- Number of slice planes (for 3D texture mapping)
- Projection area
- Extrapolating the rendering time from past
experience to predict the next subvolume
21 Adjust Error Tolerance
Render subvolume
Subdivide volume into subvolumes
Predict rendering time for next subvolume
Budget rendering time for next subvolume
Split time budget among subvolumes
Pick an initial guess of error tolerance for t
he first subvolume
Adjust error tolerance
22 Adjust Error Tolerance
- Based on the difference between budgeted Time Ti
and predicted rendering time Tp
-
- Use Fuzzy Logic Control
Fuzzy Control System
New error tolerance
Tp - Ti
23Fuzzy Logic Control Method
- Why fuzzy logic control?
- No explicit mathematical model between the system
input and output is required to achieve the
control goal
- Specifying the control rules is simple using
linguistic rules which have the form If then
- General rule
- If the rendering time difference is high
(low), then the change to the error tolerance
should be high(low)
-
24Fuzzy Logic Control
More details can be found in our recent paper
Adaptive Volume Rendering using Fuzzy Logic
Control, Joint Eurographics-IEEE TCVG Symposium
on Visualization, 2001
25Preliminary Results
- Two small data sets
- Delta wing data set 112 x 128 x 51
- Brain data set 128 x 128 x 72
- We tested the control of two rendering methods
- 3D texture mapping (SGI Octane 4MB Texture
Memory)
- Software ray casting (300MHz R12000, 512 MB RAM)
26Sample Images (1)
Brain data set
27Sample Images (2)
Delta wing data set
28Hardware Rendering Control (1)
Delta wing 10 frames/second goal
Various viewing and
scaling
Fixed threshold
Time-critical control
29Hardware Rendering Control (2)
Brain 10 frames/second goal
Various viewing and scaling
Fixed threshold
Time-critical control
30Software Rendering Control (1)
Delta 6 seconds/frame goal
Various viewing and scaling
Fixed threshold
Time-critical control
31Software Rendering Control (2)
Brain 8 seconds/frame goal
Various viewing and scaling
Fixed threshold
Time-critical control
32Future Work
- Test large scale data sets (10 x texture/main
memory space)
- Develop and evaluate the performance prediction
model
- Develop and evaluate the error tolerance
adjustment model
- Develop different importance functions
- Apply to parallel and remote software/hardware
rendering algorithms