US 12,243,164 B2
Method for generating a hierarchical data structure, hierarchical data structure, and method for streaming three-dimensional objects
Kreshnik Halili, Maishofen (AT); and Thomas Nemetz, Salzburg (AT)
Assigned to Ocean Maps GmbH, Salzburg (AT)
Filed by Ocean Maps GmbH, Salzburg (AT)
Filed on Aug. 3, 2022, as Appl. No. 17/879,843.
Claims priority of application No. A 50638/2021 (AT), filed on Aug. 4, 2021.
Prior Publication US 2023/0042578 A1, Feb. 9, 2023
Int. Cl. G06T 17/00 (2006.01); G06T 7/12 (2017.01); G06T 15/04 (2011.01); G06T 17/20 (2006.01)
CPC G06T 17/005 (2013.01) [G06T 7/12 (2017.01); G06T 15/04 (2013.01); G06T 17/20 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method for generating a hierarchical data structure of a three-dimensional object having three-dimensional object data and a texture that is mapped onto the object data, with a predetermined number n+1 detail levels (LOD: levels of detail), wherein the hierarchical data structure is a tree structure with a root node and multiple subordinate nodes, and the hierarchical data structure is embodied with the following steps:
generation of multiple levels of the three-dimensional object data at different resolutions corresponding to the predetermined detail levels, wherein the three-dimensional object data of the detail level with the lowest resolution are referred to as 3D detail level 0 and the three-dimensional object data of the detail level with the highest resolution—which corresponds to the original data—are referred to as 3D detail level n, and the individual 3D detail levels are generated by reducing the resolution from the original data of the three-dimensional object data, i.e. the 3D detail level n,
assignment of the 3D detail level 0 with the lowest resolution to the root node and assignment of the remaining 3D detail levels to a list of 3D detail levels,
wherein the 3D detail levels constitute elements that are to be segmented,
a) segmentation of the elements that are to be segmented, wherein all of the elements of the respective list having the same segment edges are respectively cut into i approximately equivalent segments and the equivalent segments of the different data levels are respectively compiled into i lists,
b) assignment of the i segments of the detail level with the lowest resolution to a respective node, wherein the nodes are each subordinate to a node to which a segment of a detail level with the next lower resolution has been previously assigned and wherein the segments assigned to a node are removed from the respective list, and
repetition of steps a) and b) until at least parts of the detail level with the highest resolution have been segmented n times, wherein the segments of the different 3D detail levels contained in the lists constitute the elements that are to be segmented,
assignment of level textures to the segments in the different 3D detail levels, which are respectively converted into a resolution that is proportional to the resolution of the respective 3D detail level,
wherein in the segmentation, the segment edges of adjacent segments of the 3D detail levels are selected so that they overlap one another and/or are extruded.