Systems and methods for adaptive visual and temporal quality of time-dynamic (4d) volume rendering
AssigneeCesium GS, Inc.
InventorsIan Lilley, Sean Lilley, Patrick Cozzi
Life of this patent
Estimating the term…
Abstract
Systems, methods, devices, and non-transitory media of various embodiments enable rendering of a time-dynamic (4D) volume dataset. Various embodiments may provide a method for responsive and high quality rendering of time-dynamic hierarchical level-of-detail voxel datasets. Various embodiments may provide a prioritization system that balances visual quality and temporal responsiveness even with slow network or filesystem speeds. Various embodiments may provide a compact and efficient storage format for time-dynamic and mixed-resolution voxel rendering on a graphics processing unit (GPU).
Claims27
A method for rendering at least a portion of a time-dynamic (4D) volume dataset on a two-dimensional (2D) display, comprising:
- requesting one or more keyframe nodes associated with one or more spatial nodes in a sparse voxel octree of the 4D volume dataset based at least in part on a keyframe node prioritization, wherein the keyframe node prioritization is based at least in part on a screen-space-error (SSE) priority value, a temporal priority value, and a random selection priority value;
- storing received keyframe node data in a three-dimensional (3D) texture atlas storing voxel data of the 4D volume dataset;
- populating an array encoded sparse voxel octree of spatial nodes to be rendered with two keyframe nodes per spatial node to be rendered from the 3D texture atlas;
- and
- sending the array encoded sparse voxel octree for rendering on the 2D display.
A computing device, comprising:
- a processor configured to perform operations comprising:
- requesting one or more keyframe nodes associated with one or more spatial nodes in a sparse voxel octree of a time-dynamic (4D) volume dataset based at least in part on a keyframe node prioritization, wherein the keyframe node prioritization is based at least in part on a screen-space-error (SSE) priority value, a temporal priority value, and a random selection priority value;
- storing received keyframe node data in a three-dimensional (3D) texture atlas storing voxel data of the 4D volume dataset;
- populating an array encoded sparse voxel octree of spatial nodes to be rendered with two keyframe nodes per spatial node to be rendered from the 3D texture atlas;
- and
- sending the array encoded sparse voxel octree for rendering on a 2D display.
A non-transitory processor readable medium having stored thereon processor-executable instructions configured to cause a processor to perform operations comprising:
- requesting one or more keyframe nodes associated with one or more spatial nodes in a sparse voxel octree of a time-dynamic (4D) volume dataset based at least in part on a keyframe node prioritization, wherein the keyframe node prioritization is based at least in part on a screen-space-error (SSE) priority value, a temporal priority value, and a random selection priority value;
- storing received keyframe node data in a three-dimensional (3D) texture atlas storing voxel data of the 4D volume dataset;
- populating an array encoded sparse voxel octree of spatial nodes to be rendered with two keyframe nodes per spatial node to be rendered from the 3D texture atlas;
- and
- sending the array encoded sparse voxel octree for rendering on a 2D display.
Dependencies are inferred from the claim text.