IP Library › Granted Patent US 9,171,383
Granted Patent B2
US 9,171,383 · App. 13/159,912 · Granted Oct 27, 2015

Apparatus and method of scalable encoding of 3D mesh, and apparatus and method of scalable decoding of 3D mesh

Inventors: Min Su Ahn (Seoul, KR); Chang Su Kim (Seoul, KR); Jae Kyun Ahn (Seoul, KR); Do Kyoon Kim (Seongnam-si, KR); Dae Youn Lee (Seoul, KR)
Assignees: Samsung Electronics Co., Ltd.; Korea University Industrial & Academic Collaboration Foundation
G06T9/00H04N19/00309H04N19/00781
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,171,383
App. No.
13/159,912
Granted
Oct 27, 2015
Kind
B2
Abstract

A scalable three-dimensional (3D) mesh encoding method includes dividing the 3D mesh into layers of complexity into a plurality of graduated levels and generating vertex position information and connectivity information of each of the plurality of levels. The vertex position information about the 3D mesh is encoded based on a weighting in each bit plane and vertex position information having a higher weighting in each bit plane is first encoded.

Claims (57)

1. A scalable three-dimensional (3D) mesh encoding apparatus including a processor unit, comprising:

a 3D mesh simplifier to simplify a 3D mesh and to generate vertex position information and connectivity information about each of a plurality of levels;

a weighting calculator to calculate a weighting of the vertex position information; and

a 3D mesh encoder to encode the 3D mesh based on the weighting of the vertex position information,

wherein the 3D mesh encoder encodes the connectivity information based on a level,

wherein the weighting calculator calculates a weighting of the vertex position information in each bit plane in the respective levels,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

2. The apparatus of claim 1 , wherein the weighting calculator calculates the weighting of the vertex position information based on at least one of level information, an extent of a bit plane, and difference information in each level.

3. The apparatus of claim 1 , wherein the 3D mesh encoder encodes the vertex position information based on the weighting in each bit plane.

4. The apparatus of claim 1 , wherein the 3D mesh simplifier sets connectivity information and vertex position information associated with a base mesh of the 3D mesh to a level 0 , and sets vertex position information and connectivity information about an additional vertex to restore a mesh form in each level to another level than the level 0 .

5. A scalable three-dimensional (3D) mesh decoding apparatus including a processor unit, comprising:

a bit stream receiver to receive an encoded bit stream having connectivity information based on a level, and vertex position information about a 3D mesh; and

an object restoring unit to decode the bit stream and to restore a 3D object corresponding to the 3D mesh based on the connectivity information and vertex position information,

wherein the vertex position information is based on a weighting in each bit plane,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

6. The apparatus of claim 5 , wherein the weighting in each bit plane is determined based on at least one of level information, an extent of a bit plane, and difference information in each level.

7. A scalable three-dimensional (3D) mesh encoding method, comprising:

simplifying, by at least one processor, a 3D mesh and generating vertex position information and connectivity information about each of a plurality of levels;

calculating, by the at least one processor, a weighting of the vertex position information; and

encoding, by the at least one processor, the 3D mesh based on the weighting of the vertex position information,

wherein the encoding of the 3D mesh encodes the connectivity information based on a level,

wherein the calculating of the weighting comprises calculating a weighting of the vertex position information in each bit plane in the respective levels,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

8. The method of claim 7 , wherein the calculating of the weighting calculates the weighting of the vertex position information based on at least one of level information, an extent of a bit plane, and difference information in each level.

9. The method of claim 7 , wherein the encoding of the 3D mesh encodes the vertex position information about the 3D mesh based on the weighting in each bit plane.

10. The method of claim 7 , wherein the generating of the vertex position information and the connectivity information comprises:

setting connectivity information and vertex position information associated with a base mesh of the 3D mesh to a level 0 ; and

setting vertex position information and connectivity information about an additional vertex to restore a mesh form in each level to another level than the level 0 .

11. At least one non-transitory computer-readable medium comprising computer readable instructions that control at least one processor to implement the method of claim 7 .

12. A scalable three-dimensional (3D) mesh decoding method, comprising:

receiving, by at least one processor, an encoded bit stream having encoded connectivity information based on a level, and vertex position information about a 3D mesh; and

decoding, by the at least one processor, the bit stream and restoring a 3D object corresponding to the 3D mesh based on the connectivity information and vertex position information,

wherein the vertex position information is based on a weighting in each bit plane,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

13. The method of claim 12 , wherein the weighting in each bit plane is determined based on at least one of level information, an extent of a bit plane, and difference information in each level.

14. An apparatus including a processor unit to process a bit stream, wherein the bit stream comprises connectivity information and vertex position information about a plurality of vertices forming a 3D mesh , the connectivity information is encoded and arranged based on a level, and the vertex position information is arranged based on a weighting of the vertices in each bit plane,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

15. A method, comprising:

assigning, by at least one processor, each of a plurality of vertices to at least one of a plurality of levels of complexity of a 3D mesh corresponding to a 3D object, the plurality of levels arranged from less complex to more complex;

generating, by the at least one processor, vertex position information and connectivity information for each of the plurality of vertices for each of the plurality of levels; and

encoding, by the at least one processor, the 3D mesh,

wherein the encoding of the 3D mesh encodes the connectivity information based on a level,

wherein the vertex position information is based on a weighting in each bit plane,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

16. A method, comprising:

arranging, by at least one processor, a 3D mesh of a 3D object into a plurality of discrete levels progressively increasing in complexity based on a level number ranging from 0 to n, n being a positive integer, each level having a larger number of vertices and more complex connectivity between the vertices than a previous level; and

encoding, by the at least one processor, the 3D mesh according to plurality of levels,

wherein the encoding of the 3D mesh encodes the connectivity information based on a level,

wherein the 3D mesh is weighted based on a bit plane for each of the plurality of levels,

wherein each bit plane is divided into a first cluster and a second cluster, and

wherein the first cluster is divided into m classes, m being a positive integer, based on a corresponding bit plane.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2011
From: AHN, MIN SU; KIM, CHANG SU; AHN, JAE KYUN; KIM, DO KYOON; LEE, DAE YOUN
To: SAMSUNG ELECTRONICS CO., LTD.; KOREA UNIVERSITY INDUSTRIAL & ACADEMIC COLLABORATION FOUNDATION KORA UNIV.
Reel/Frame 026535/0130 →
Priority Claims (1)
KR 10-2010-0069581 · Jul 19, 2010 · national
Continuity (1)
Related Publication 20120013608A1 · Jan 19, 2012