3D mesh compression and coding
First Claim
1. A method of encoding a three dimensional model represented by polyhedral meshes to provide a compressed data representation of the three dimensional model, said method comprising the steps of:
- A. treating the mesh structure according to the following sequence;
1. select a starting node ns and a principle link I associated with the starting node ns;
2. traverse each link associated with the starting node in a counter clockwise direction starting with the principle link;
3. for each link traversed in Step 2, add the traversed link ending node nε
to a queue and set the link as the principle link, if the ending node is not already in the queue;
4. after each link associated with the starting node ns has been traversed go to the next node in the queue and repeat Steps 3 and 4 until all nodes in the queue have been traversed, and then terminate;
B. recording each link associated with each node of the mesh traversed.
0 Assignments
0 Petitions
Accused Products
Abstract
Single and progressive-resolution coding algorithms for the compression of 3-D polyhedral meshes are disclosed. In the single-resolution mode, the mesh topology (or connectivity) is encoded by a constructive traversing approach applied to the dual graph of the original mesh while the mesh geometry is encoded by successive quantization and the bit-plane coding (achieved by context arithmetic coding). In the progressive-resolution mode, the mesh is represented by a coarse approximation (i.e., the base mesh) and a sequence of refinements. Both the base mesh and the refinement operations are entropy coded so that a series of mesh models of continuously varying resolutions can be constructed from the coded bit stream. Topological and geometrical data of a 3-D mesh are encoded separately according to their importance and then integrated into a single bit stream. In decoding, the decoder finds from the bit stream the most important information and gradually adds finer detailed information to provide a more complete 3-D graphic model. The decoder can stop at any point while giving a reasonable reconstruction of the original model. The disclosed algorithm was applied to complicated 3-D meshes and achieved a compression ratio of 20:1 while maintaining a good graphic quality.
150 Citations
38 Claims
-
1. A method of encoding a three dimensional model represented by polyhedral meshes to provide a compressed data representation of the three dimensional model, said method comprising the steps of:
-
A. treating the mesh structure according to the following sequence;
1. select a starting node ns and a principle link I associated with the starting node ns;
2. traverse each link associated with the starting node in a counter clockwise direction starting with the principle link;
3. for each link traversed in Step 2, add the traversed link ending node nε
to a queue and set the link as the principle link, if the ending node is not already in the queue;
4. after each link associated with the starting node ns has been traversed go to the next node in the queue and repeat Steps 3 and 4 until all nodes in the queue have been traversed, and then terminate;
B. recording each link associated with each node of the mesh traversed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
1. ordering the attributes to be coded;
2. producing a sequence of prediction residues for each coded attribute; and
3. quantizing and coding the prediction residues.
-
-
9. A method of encoding a three dimensional model represented by polyhedral meshes to provide a compressed data representation of the three dimensional model, said method comprising the steps:
-
coding the structure data of the polyhedral meshes representing the three dimensional model, wherein the step of coding the structure data comprises the steps of selecting a starting node ns and a principle link associated with the starting node ns, and traversing a selected link associated with the starting node ns in a counter clockwise direction starting with the principle link;
coding the attribute data of the polyhedral meshes representing the three dimensional model; and
multiplexing the encoded structure data and the encoded attribute data into a single data stream. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
adding the selected link ending node nε
to a queue and setting the link as the principle link if the ending node nε
is not already in the queue.
-
-
11. The method of claim 10 further comprising the step of traversing all nodes in the queue by repeating said traversing step and said adding step.
-
12. The method of claim 10 further comprising the step of identifying the ending node nε
- as a branch node if the ending node nε
is not in the queue and as a merger node if the identifying node nε
is in the queue.
- as a branch node if the ending node nε
-
13. The method of claim 12 further comprising the step of identifying each merger node according to a global indexing scheme.
-
14. The method of claim 12 further comprising the step of identifying each merger node according to a local indexing scheme.
-
15. The method of claim 14 wherein the local indexing scheme comprises a clockwise tracing to the merger node from the starting node ns.
-
16. The method of claim 14 wherein the local indexing scheme comprises a counter clockwise tracing to the merger node from the starting node ns.
-
17. The method of claim 9 wherein the step of coding the attribute data comprises the step of specifying the attributes of each node in the polyhedral meshes.
-
18. The method of claim 17 wherein each of the attributes of each node in the polyhedral meshes are selected from the group consisting of position, normal, color and texture.
-
19. The method of claim 17 further comprising the step of coding the attributes of each node, comprising the steps of:
-
ordering the attributes to be coded;
producing a sequence of prediction residues for each coded attribute; and
quantizing and coding the prediction residues.
-
-
20. A method of encoding a tree dimensional model represented by polyhedral meshes to provide a compressed data representation of the three dimensional model, said method comprising the steps of:
-
A. treating the mesh structure according to the following sequence;
1. select a starting node ns and a principle link I associated with the starting node ns;
2. traverse each link associated with the starting node in a clockwise direction starting with the principle link;
3. for each link traversed in Step 2, add the traversed link ending node ns to a queue and set the link as the principle link, if the ending node is not already in the queue;
4. after each link associated with the starting node ns has been traversed go to the next node in the queue and repeat Steps 3 and 4 until all nodes in the queue have been traversed, and then terminate;
B. recording each link associated with each node of the mesh traversed. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
1. ordering the attributes to be coded;
2. producing a sequence of prediction residues for each coded attribute; and
3. quantizing and coding the prediction residues.
-
-
28. A method of encoding a three dimensional model represented by polyhedral meshes to provide a compressed data representation of the three dimensional model, said method comprising the steps:
-
coding the structure data of the polyhedral meshes representing the three dimensional model, wherein the step of coding the structure data comprises the steps of selecting a starting node ns and a principle link associated with the starting node ns, and traversing a selected link associated with the starting node ns in a clockwise direction starting with the principle link;
coding the attribute data of the polyhedral meshes representing the three dimensional model; and
multiplexing the encoded structure data and the encoded attribute data into a single data stream. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
adding the selected link ending node nε
to a queue and setting the link as the principle link if the ending node ns is not already in the queue.
-
-
30. The method of claim 29 further comprising the step of traversing all nodes in the queue by repeating said traversing step and said adding step.
-
31. The method of claim 29 further comprising the step of identifying the ending node ns as a branch node if the ending node ns is not in the queue and as a merger node if the identifying node ns is in the queue.
-
32. The method of claim 31 further comprising the step of identifying each merger node according to a global indexing scheme.
-
33. The method of claim 31 further comprising the step of identifying each merger node according to a local indexing scheme.
-
34. The method of claim 33 wherein the local indexing scheme comprises a counter clockwise tracing to the merger node from the starting node ns.
-
35. The method of claim 33 wherein the local indexing scheme comprises a clockwise tracing to the merger node from the starting node ns.
-
36. The method of claim 28 wherein the step of coding the attribute data comprises the step of specifying the attributes of each node in the polyhedral meshes.
-
37. The method of claim 36 wherein each of the attributes of each node in the polyhedral meshes are selected from the group consisting of position, normal, color and texture.
-
38. The method of claim 36 further comprising the step of coding the attributes of each node, comprising the steps of:
-
ordering the attributes to be coded;
producing a sequence of prediction residues for each coded attribute; and
quantizing and coding the prediction residues.
-
Specification