IP Library Granted Patent US 9,035,807
Granted Patent B2
US 9,035,807 · App. 14/240,066 · Granted May 19, 2015

Hierarchical entropy encoding and decoding

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,035,807
App. No.
14/240,066
Granted
May 19, 2015
Kind
B2
Abstract

A particular implementation receives geometry data of a 3D mesh, and represents the geometry data with an octree. The particular implementation partitions the octree into three parts, wherein the symbols corresponding to the middle part of the octree are hierarchical entropy encoded. To partition the octree into three parts, different thresholds are used. Depending on whether a symbol associated with a node is an S1 symbol, the child node of the node is included in the middle part or the upper part of the octree. In hierarchical entropy encoding, a non-S1 symbol is first encoded as a pre-determined symbol ‘X’ using symbol set S2={S1, ‘X’} and the non-S1 symbol itself is then encoded using symbol set S0 (S2⊂S0), and an S1 symbol is encoded using symbol set S2. Another implementation defines corresponding hierarchical entropy decoding. A further implementation reconstructs the octree and restores the geometry data of a 3D mesh from the octree representation.

Claims (54)

1. A method, comprising:

determining that a symbol in a sequence of symbols does not belong to a first symbol set;

encoding a pre-determined symbol to represent the determined symbol, using a statistical model for the first symbol set and the pre-determined symbol; and

encoding the determined symbol, using a statistical model for a second symbol set.

2. The method of claim 1 , wherein the second symbol set is a superset of the first symbol set and the pre-determined symbol does not belong to the second symbol set.

3. The method of claim 1 , further comprising:

encoding a second sequence of symbols using the statistical model for the second symbol set; and

encoding a third sequence of symbols using a statistical model for a third symbol set.

4. The method of claim 3 , wherein the third symbol set is the same as the first symbol set.

5. The method of claim 3 , further comprising:

receiving geometry data of a 3D mesh;

representing the geometry data using a tree data structure; and

partitioning the tree data structure into three parts, wherein the sequence of symbols corresponds to a middle part of the tree data structure, the second sequence of symbols corresponds to an upper part of the tree data structure and the third sequence of symbols corresponds to a bottom part of the tree data structure.

6. The method of claim 5 , the partitioning of the tree data structure comprising one of:

including child nodes of a node, the node being associated with a second symbol, in the upper part of the tree data structure if the second symbol does not belong to the first symbol set; and

including child nodes of the node in the middle part of the tree if the second symbol belongs to the first symbol set.

7. The method of claim 5 , wherein the partitioning of the tree data structure uses at least one threshold.

8. A method, comprising:

decoding a symbol from a bitstream, using a statistical model for a first symbol set and a pre-determined symbol;

determining that the symbol is the pre-determined symbol; and

decoding from the bitstream a second symbol corresponding to the determined symbol, using a statistical model for a second symbol set.

9. The method of claim 8 , wherein the second symbol set is a superset of the first symbol set and the pre-determined symbol does not belong to the second symbol set.

10. The method of claim 8 , further comprising:

decoding another symbol from the bitstream, using one of the statistical model for the second symbol set and a statistical model for a third symbol set.

11. The method of claim 10 , wherein the third symbol set is the same as the first symbol set.

12. The method of claim 10 , further comprising:

reconstructing a tree data structure using decoded symbols, the decoded symbols including the second symbol and the another symbol; and

restoring geometry data of a 3D mesh from the tree data structure.

13. The method of claim 12 , wherein the reconstruction of the tree data structure comprises:

decoding symbols associated with child nodes for a node using the statistical model for the first symbol set and the pre-determined symbol, if a third symbol associated with the node belongs to the first symbol set; and

decoding the symbols associated with the child nodes for the node using the statistical model for the second symbol set if the third symbol does not belong to the first symbol set.

14. The method of claim 12 , wherein the reconstruction of the tree data structure uses at least one threshold.

15. An apparatus, comprising:

a processor partitioning a tree data structure into three parts, wherein a first sequence of symbols corresponds to a middle part of the tree data structure, a second sequence of symbols corresponds to an upper part of the tree data structure and a third sequence of symbols corresponds to a bottom part of the tree data structure;

a controller determining that a symbol in the first sequence of symbols does not belong to a first symbol set;

a first entropy encoding engine encoding a pre-determined symbol to represent the determined symbol, using a statistical model for the first symbol set and the pre-determined symbol; and

a second entropy encoder encoding the symbol and the second sequence of symbols, using a statistical model for a second symbol set, wherein the second symbol set is a superset of the first symbol set and the pre-determined symbol does not belong to the second symbol set.

16. The apparatus of claim 15 , wherein child nodes of a node being included in the upper part of the tree data structure if a third symbol does not belong to the first symbol set and the child nodes of the node being included in the middle part of the tree if the third symbol belongs to the first symbol set, the node being associated with the third symbol.

17. The apparatus of claim 15 , further comprising;

an input receiving a 3D mesh; and

a generator forming the tree data structure to represent geometry data of the 3D mesh.

18. The apparatus of claim 15 , wherein the processor uses at least one threshold to partition the tree data structure.

19. An apparatus, comprising:

a first entropy decoding engine decoding a symbol from a bitstream, using a statistical model for a first symbol set and a pre-determined symbol;

a controller determining that the symbol is the pre-determined symbol;

a second entropy decoding engine decoding from the bitstream a second symbol, using a statistical model for a second symbol set, wherein the second symbol set is a superset of the first symbol set; and

a processor reconstructing a tree data structure using decoded symbols, the decoded symbols including the second symbol.

20. The apparatus of claim 19 , wherein the first entropy decoding engine is used to decode symbols associated with child nodes for a node if a third symbol belongs to the first symbol set and the second entropy decoding engine is used to decode the symbols associated with the child nodes for the node if the third symbol does not belong to the first symbol set, the node being associated with the third symbol.

21. The apparatus of claim 19 , wherein the tree data structure is reconstructed to represent geometry data of a 3D mesh.

22. The apparatus of claim 19 , wherein the reconstruction of the tree data structure uses at least one threshold.

23. A processor readable medium having stored thereupon instructions for causing one or more processors to collectively perform;

decoding a symbol from a bitstream, using a statistical model for a first symbol set and a pre-determined symbol;

determining that the symbol is the pre-determined symbol; and

decoding from the bitstream a second symbol corresponding to the determined symbol, using a statistical model for a second symbol set.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2018
From: THOMSON LICENSING DTV
To: INTERDIGITAL MADISON PATENT HOLDINGS
Reel/Frame 046763/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: THOMSON LICENSING
To: THOMSON LICENSING DTV
Reel/Frame 041378/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: THOMSON LICENSING
To: THOMSON LICENSING DTV
Reel/Frame 041370/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2014
From: JIANG, WENFEI; CAI, KANGYING; HU, PING
To: THOMSON LICENSING
Reel/Frame 032923/0405 →