Presentation is loading. Please wait.

Presentation is loading. Please wait.

Erik de Jong & Willem Bouma.  Arithmetic Coding  Octree  Compression  Surface Approximation  Child Cells Configurations  Single Child cell configurations.

Similar presentations


Presentation on theme: "Erik de Jong & Willem Bouma.  Arithmetic Coding  Octree  Compression  Surface Approximation  Child Cells Configurations  Single Child cell configurations."— Presentation transcript:

1 Erik de Jong & Willem Bouma

2  Arithmetic Coding  Octree  Compression  Surface Approximation  Child Cells Configurations  Single Child cell configurations  Results  Questions

3  Assign to every symbol a range from the interval [0-1]. The size of the range represents the probability of the symbol occurring. Example: A:60% [ 0.0, 0.6 ) B: 20% [ 0.6, 0.8 ) C: 10% [ 0.8, 0.9 ) D: 10% [ 0.9, 1.0 ) (end of data symbol)

4 Ranges: A – [0,0.6), B – [0.6,0.8), C – [0.8,0.9), D – [0.9,1) The example shows the decoding of 0.538. A B C D

5  Huffman coding is a specialized case of arithmetic coding  Every symbol is converted to a bit sequence of integer length  Probabilities are rounded to negative powers of two  Advantage: Can decode parts of the input stream  Disadvantage: Arithmetic coding comes much closer to the optimal entropy encoding

6 SQUEEL

7  Estimate/Approximate as much as possible  Store only the differences w.r.t. the estimate  A better estimate ->  smaller numbers  lower entropy  better compression

8  What is an Octree?

9  Per cell we store only the occupied child cells  Options:  Store a single byte, each bit representing a child cell (for example 11001100)  Store the number of occupied cells e and a tupel T with the indices of the occupied cells (for example e=4, T ={0,1,4,5})

10  We will approximate/estimate/compress:  The surface  Number of non-empty child cells  Child cell configuration  Index compression  Single child cell configuration

11  Every level of the octree will yield a preliminary approximation Q of the complete point cloud P  For a cell that is to be subdivided:  Predict surface F based on Moving Least Squares (MLS) on k nearest points in Q

12  Prediction of number of non-empty cells e  Based on estimation of the sampling density ρ  Local sampling density ρ i at point p i in P :  k, nearest points  p i, point in the point cloud P  q i, point on the surface approximation Q

13  Sampling density:  Guess the number of child cells e based on:  The area of the plane F  The sampling density ρ

14  Quality of prediction Graphs show the difference between te estimated value and the true value. (a)The level 5 octree (b)The level 7 octree (c)The entire octree.

15  Given the number of non-empty child cells e there are only a limited number of configurations:

16  We have an array with all weighted possible configurations, sorted in ascending order  Each configuration of the subdivision is encoded as an index of the array.  Common configurations get lower weights, means smaller indices, means lower entropy.

17  Cell centers tend to be close to F.

18  To find the weight of a configuration:  Sum up the (L1) distances from the cell centers to F

19  Index of the configuration in the sorted array is encoded using arithmetic coding under two contexts  First context: the octree level of the cell C  Second context: the expressiveness e(F)

20  e(F) reflects the angle of the plane to the coordinate directions

21  In order to use e(F) as a context for arithmetic coding it has to be quantized.  It has been found that five bins was sufficient and delivered the best results.

22  We can exploit an observation for cells that have only one occupied child cell.  Scanning devices often have a regular sampling grid.  It is possible to predict samples on the surface, rather than just close to the surface.  This is relevant for the finer levels in the octree hierarchy.

23  For cells with only one child cell we can predict T based on the nearest neighbours of points m, centroid of the k nearest neighbours

24  Quite suprisingly, the cell center projections on F that are farthest away are most likely to be occupied.  The area farther away can be seen as undersampled.  So a sample in that area becomes more likely since we expect the surface to be regular and no undersampling should exist.

25  The weights for the eight possible configurations are given as c(T), cell center of T prj(F,c(T)), projection of c(T) on F

26  Extra attributes can be encoded with an octree  Color  Normals

27  Compressing color  Same two-step method as with coordinates  Different prediction functions are needed

28 ModelNumber of points Raw sizeCompressed (bpp) Compressed size Dragon2.748.31831,44 MB5,061,66 MB Venus~134.0001569 KB11,27184 KB Rabbit~67.000768 KB11,3793 KB MaleWB~148.0001734 KB8,87160 KB (bpp) Bits Per Point Raw size is assumed to use 3 times 4 Bytes per point. The octree uses 12 levels. Except for the Dragon for which it is unknown.

29 (b) uses 1.89 bpp

30

31 ?


Download ppt "Erik de Jong & Willem Bouma.  Arithmetic Coding  Octree  Compression  Surface Approximation  Child Cells Configurations  Single Child cell configurations."

Similar presentations


Ads by Google