IP Library Granted Patent US 9,070,178
Granted Patent B2
US 9,070,178 · App. 11/837,371 · Granted Jun 30, 2015

Method and system for organizing topology elements for better compression

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,070,178
App. No.
11/837,371
Granted
Jun 30, 2015
Kind
B2
Abstract

A system, method, and computer program for organizing elements for compression, comprising nesting a hierarchical topological structure having a plurality of elements; arranging said plurality of elements in a pattern to facilitate data compression; representing said pattern as four arrays; and compressing said plurality of elements from said arrays, and appropriate means and computer-readable instructions.

Claims (75)

1. A method for organizing elements for compression, comprising:

nesting, by a computing device, a hierarchical topological structure having a plurality of elements;

arranging, by the computing device, said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays by the computing device, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing, by the computing device, said plurality of elements from said arrays.

2. The method of claim 1 , further comprising aggregating together a plurality of numerical values according to type.

3. The method of claim 1 , wherein said data compression is lossy.

4. A method for organizing elements for compression, comprising:

nesting, by a computing device, a hierarchical topological structure having a plurality of elements;

arranging, by the computing device, said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays by the computing device, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing said plurality of elements from said arrays by the computing device,

wherein arranging said elements occurs in accordance with the equations:

r k s=r k−1 e +1, 0 <k<N r

s k s=s k−1 e +1, 0 <k<N s

f k s=r k−1 e +1, 0 <k<N f

l k s=r k−1 e +1, 0 <k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

5. The method of claim 4 , wherein representing said arrays occurs in accordance with the equations:

r k n=r k e−r k s +1, 0 <=k<N r

s k n=s k e−s k s +1, 0 <=k<N s

f k n=f k e−f k s +1, 0 <=k<N f

l k n=r l e,−r l s +1, 0 <=k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, n indicates the specific structure, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

6. A method for organizing elements for compression, comprising:

nesting, by a computing device, a hierarchical topological structure having a plurality of elements;

arranging, by the computing device, said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays by the computing device, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing said plurality of elements from said arrays by the computing device,

wherein representing said arrays occurs in accordance with the equations:

r k n=r k e−r k s +1, 0 <=k<N r

s k n=s k e−s k s +1, 0 <=k<N s

f k n=f k e−f k s +1, 0 <=k<N f

l k n=r l e,−r l s +1, 0 <=k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, n indicates the specific structure, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

7. A non-transitory machine readable medium encoded with instructions operable to cause a computer to perform the steps of:

nesting a hierarchical topological structure having a plurality of elements;

arranging said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing said plurality of elements from said arrays.

8. The machine-readable medium of claim 7 , further comprising aggregating together a plurality of numerical values according to type.

9. The machine-readable medium of claim 7 , wherein said data compression is lossy.

10. A non-transitory machine readable medium encoded with instructions operable to cause a computer to perform the steps of:

nesting a hierarchical topological structure having a plurality of elements;

arranging said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing said plurality of elements from said arrays, wherein arranging said elements occurs in accordance with the equations:

r k s=r k−1 e +1, 0 <k<N r

s k s=s k−1 e +1, 0 <k<N s

f k s=r k−1 e +1, 0 <k<N f

l k s=r k−1 e +1, 0 <k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

11. The machine-readable medium of claim 10 , wherein representing said arrays occurs in accordance with the equations:

r k n=r k e−r k s +1, 0 <=k<N r

s k n=s k e−s k s +1, 0 <=k<N s

f k n=f k e−f k s +1, 0 <=k<N f

l k n=r l e,−r l s +1, 0 <=k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, n indicates the specific structure, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

12. A non-transitory machine readable medium encoded with instructions operable to cause a computer to perform the steps of:

nesting a hierarchical topological structure having a plurality of elements;

arranging said plurality of elements in a pattern to facilitate data compression;

representing said pattern as four arrays, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compressing said plurality of elements from said arrays, wherein representing said arrays occurs in accordance with the equations:

r k n=r k e−r k s +1, 0 <=k<N r

s k n=s k e−s k s +1, 0 <=k<N s

f k n=f k e−f k s +1, 0 <=k<N f

l k n=r l e,−r l s +1, 0 <=k<N l

where, N r , N s , N f and N l are the total number of regions, shells, faces, and loops in said structure, respectively, n indicates the specific structure, an r with a subscript represents a shell of a region, an s with a subscript represents face of a shell, an f with a subscript represents a loop of a face, an l with a subscript represents a coedge of a loop, an s without a subscript represents a starting element, an e represents an ending element, and k represents an array index.

13. A data processing system comprising

a processor; and

an accessible memory, the data processing system configured to

nest a hierarchical topological structure having a plurality of elements;

arrange said plurality of elements in a pattern to facilitate lossless data compression;

represent said pattern as four arrays, the four arrays consisting of a shell array, a face array, a loop array, and a coedge array; and

compress said plurality of elements from said arrays.

Assignments (2)
CHANGE OF NAME Recorded Dec 3, 2019
From: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 051171/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2007
From: HUANG, JIANBING; CARTER, MICHAEL B.; JOHANNSEN, ANDREAS; HARPER, BRETT
To: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
Reel/Frame 020058/0655 →