Tree data structures based on a plurality of local coordinate systems

US10025879B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10025879-B2
Application numberUS-201514697480-A
CountryUS
Kind codeB2
Filing dateApr 27, 2015
Priority dateSep 4, 2014
Publication dateJul 17, 2018
Grant dateJul 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, computer readable medium, and method are disclosed for performing a tree traversal operation. The method includes the steps of executing, via a processor, a tree traversal operation for a tree data structure, receiving a transformation node that includes transformation data during the tree traversal operation, and transforming spatial data included in a query data structure based on the transformation data. Each node in the tree data structure is classified according to one of a plurality of nodesets, the plurality of nodesets corresponding to a plurality of local coordinate systems. The processor may be a parallel processing unit that includes one or more tree traversal units, which implement the tree traversal operation in hardware, software, or a combination of hardware and software.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: executing, via a processor, a tree traversal operation for a tree data structure, wherein each node in the tree data structure is classified into one of a plurality of nodesets, the plurality of nodesets corresponding to a plurality of local coordinate systems, wherein spatial values encoded within each node are specified relative to the local coordinate system; receiving, at the processor, a transformation node during the tree traversal operation, wherein the transformation node includes transformation data; transforming, by the processor, a query shape represented by a query data structure from a global coordinate system to a first local coordinate system of the plurality of local coordinate systems based on the transformation data, wherein each local coordinate system has a higher level of spatial resolution compared with the global coordinate system; and generating a color value for a pixel intersected by the query data structure when the transformed query shape intersects a first node in the tree data structure. 2. The method of claim 1 , wherein the tree data structure represents a bounding volume hierarchy (BVH). 3. The method of claim 1 , further comprising: receiving the tree data structure at the processor; and classifying, by the processor, the nodes of the tree data structure into the plurality of nodesets. 4. The method of claim 3 , wherein classifying the nodes of the tree data structure into the plurality of nodesets comprises: creating an initial proposed classification for the nodes by classifying all nodes in the tree data structure into a single nodeset; evaluating a cost function for each nodeset in the proposed classification to calculate a set of cost values; determining that at least one nodeset in the proposed classification did not meet the acceptance criterion; and adjusting the proposed classification of the nodes into one or more new nodesets, evaluating the cost function for each nodeset in the adjusted proposed classification, and determining whether each of the nodesets in the adjusted proposed classification meets the acceptance criterion. 5. The method of claim 4 , wherein adjusting the proposed classification of the nodes comprises, for each nodeset that does not meet the acceptance criterion: classifying the root node of the nodeset into a top-level nodeset; and splitting the nodeset into multiple lower-level nodesets, where each nodeset in the multiple lower-level nodesets corresponds to a subtree associated with a child node of the root node. 6. The method of claim 4 , wherein the cost function estimates the expected number of additional intersection tests that need to be performed due to conservative rounding. 7. The method of claim 1 , further comprising selecting the local coordinate system for each nodeset by calculating a geometric center of a set of bounding volumes associated with the nodes in the nodeset, wherein the geometric center is selected as the origin of the local coordinate system. 8. The method of claim 1 , wherein the transformation data comprises a scale factor represents a difference in scale between the global coordinate system and the first local coordinate system. 9. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising: executing a tree traversal operation for a tree data structure, wherein each node in the tree data structure is classified according to one of a plurality of nodesets, the plurality of nodesets corresponding to a plurality of local coordinate systems, wherein spatial values encoded within each node are specified relative to the local coordinate system; receiving a transformation node during the tree traversal operation by the setup unit, wherein the transformation node includes transformation data; transforming a query shape represented by a query data structure from a global coordinate system to a first local coordinate system of the plurality of local coordinate systems based on the transformation data, wherein each local coordinate system has a higher level of spatial resolution compared with the global coordinate system; and generating a color value for a pixel intersected by the query data structure when the transformed query shape intersects a first node in the tree data structure. 10. The method of claim 1 , further comprising intersecting the transformed query shape with the spatial values encoded within the first node that are specified relative to the first local coordinate system. 11. The non-transitory computer-readable storage medium of claim 9 , wherein the transformation data comprises a scale factor represents a difference in scale between the global coordinate system and the first local coordinate system. 12. The non-transitory computer-readable storage medium of claim 9 , the steps further comprising: receiving the tree data structure at the processor; and classifying, by the processor, the nodes of the tree data structure into the plurality of nodesets. 13. The non-transitory computer-readable storage medium of claim 12 , wherein classifying the nodes of the tree data structure into the plurality of nodesets comprises: creating an initial proposed classification for the nodes by classifying all nodes in the tree data structure into a single nodeset; evaluating a cost function for each nodeset in the proposed classification to calculate a set of cost values; determining that at least one nodeset in the proposed classification did not meet the acceptance criterion; and adjusting the proposed classification of the nodes into one or more new nodesets, evaluating the cost function for each nodeset in the adjusted proposed classification, and determining whether each of the nodesets in the adjusted proposed classification meets the acceptance criterion. 14. The method of claim 13 , wherein adjusting the proposed classification of the nodes comprises, for each nodeset that does not meet the acceptance criterion: classifying the root node of the nodeset into a top-level nodeset; and splitting the nodeset into multiple lower-level nodesets, where each nodeset in the multiple lower-level nodesets corresponds to a subtree associated with a child node of the root node. 15. The non-transitory computer-readable storage medium of claim 9 , further comprising selecting the local coordinate system for each nodeset by calculating a geometric center of a set of bounding volumes associated with the nodes in the nodeset, wherein the geometric center is selected as the origin of the local coordinate system. 16. The non-transitory computer-readable storage medium of claim 9 , further comprising intersecting the transformed query shape with the spatial values encoded within the first node that are specified relative to the first local coordinate system. 17. A system, comprising: a parallel processing unit that includes at least one tree traversal unit configured to: execute a tree traversal operation for a tree data structure, wherein each node in the tree data structure is classified according to one of a plurality of nodesets, the plurality of nodesets corresponding to a plurality of local coordinate systems, wherein spatial values encoded within each node are specified relative to the local coordinate system, receive a transformation node during the tree traversal operation, wherein the transformation node includes transformation data, transform a query shape represented by a query data structure from a global coordinate system

Assignees

Inventors

Classifications

  • Model-based coding, e.g. wire frame · CPC title

  • General purpose rendering architectures · CPC title

  • Trees · CPC title

  • Trees, e.g. B+trees · CPC title

  • the region being a slice, e.g. a line of blocks or a group of blocks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10025879B2 cover?
A system, computer readable medium, and method are disclosed for performing a tree traversal operation. The method includes the steps of executing, via a processor, a tree traversal operation for a tree data structure, receiving a transformation node that includes transformation data during the tree traversal operation, and transforming spatial data included in a query data structure based on t…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/9027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).