270 likes | 388 Views
Scheduling Level of Detail with guaranteed Quality and Cost. W. Pasman, F. W. Jansen Delft University of Technology. UbiCom mobile AR. Latency Layering • Optical AR -> Low latency (10ms target for our system) on low-power headset -> Latency layering. Low-Latency Rendering.
E N D
Scheduling Level of Detail with guaranteed Quality and Cost W. Pasman, F. W. Jansen Delft University of Technology
Latency Layering • Optical AR -> Low latency (10ms target for our system) on low-power headset -> Latency layering
Low-Latency Rendering • Render just ahead of rasterbeam •Voodoo2 3D game card • measured latency 8.5ms
Dynamic Simplification Dynamic LoD generation in backbone Maximize perf/cost ratio in headset.
Mathematical model • Estimate link and CPU load, memory usage, lifetime of objects, etc • Est screenspace error derived from geometric distortions D=0.001 R=1m
Overview Mathematical model only for single objects -> complex scenes require resource scheduling • Accuracy Curves • VRML Integration • Measurements
Scheduling of resources Funkhouser,Séquin (1992), Mason,Blake (1997) Goal: maximize benefit within a cost budget.
Mason showed this is NP complete.. - Iterative approx giving in worst case half the maximum possible quality - Quality only known after iteration - Only feedback loop with application possible
Each node in scene graph is assigned a curve: Accuracy curve • required resources as function of accuracy target • monotonically increasing. R->#polygons
Measurement of geometric distortion d as function of number of polygons n d~ C/n. Accuracy a =1/d Resource usage r = K a + R0 -> piecewise linear function
Propagating accuracy curves Leaf nodes: accuracy curve from (1) mathematical model or (2) measurements Other nodes: propagate curve upwards through scenegraph
LoD node behaviour Resource Usage
Different end points curve 2 Resource usage incorrect extension curve 1 incorrect minimum 20 50 Accuracy
Complexity Target Accuracy -> Resources required Idem R -> A (so not NP-complete)
Optimizing curve updates Upto now: screenspace error=visual accuracy Refresh required if user moves Optimizations: Determine range where a curve is ‘accurate enough’ as long as viewer is within the range. (2) Visual accuracy is derived from geometric distortion - which is viewpoint independent geometric accuracy object radius Relative acc =
Using relative accuracy curves Slight changes in algorithms: • grouping -> 'object' diameter changes. • Conversion to visual accuracy needed. Group's bbox is much closer to viewer than the individual bboxes -> switch to absolute accuracy at reasonable distance.
ConicRange Accuracy curves & simplified objects: valid only in part of space. Efficient checking. d
Imposter nodes Replace children with image. Automatic refresh & calc of accuracy curve SimpleImposter { MFNode children [ ] SFVec2f size 2 2 SFBool autosize true SFVec3f center 0 0 0 SFBool autocenter true }
LOD LOD picks valid level requiring least resources
Prototype limitations -> simple testscene Target #polygons, accuracy Measure also SNR
Constant polygon budget Constant accuracy target
Conclusions • Efficient scheduling of resources • Fits all simplification methods • Rendering to target quality or budget driven • Comes close to budget, never exceeds it. • Hierarchical approach fits with VRML • Many optimization possibilities
Future work • Limited prototype: part of UbiCom AR system • Many representations can change at once. This causes peak datarates. • Extension to multiple resources • Conic ranges quickly degenerate • Animated objects