标题: Probability Model-Adaptive Coding of Point Clouds with Octree Decomposition [打印本页] 作者: 彬彬 时间: 2012-1-3 10:17 标题: Probability Model-Adaptive Coding of Point Clouds with Octree Decomposition 1 Introduction
An important observation is that when compressing point clouds
using Octree (OT) decomposition based compression algorithms
[Peng and Kuo 2005; Huang et al. 2008], the octree nodes with
only one non-empty child (single-point nodes), occur in an increasing
frequency as the cell subdivision goes deeper. The commonly
employed entropy codec uses a probability model which keeps updating
during the coding process. However, as illustrated in Fig.1
(b), the symbol distribution keeps varying and thus the probability
model trained online is seldom perfectly matched with the real statistical
distribution. Thus, there is still much room left to further
save the bitrates when using these codecs.
Figure 1: Our codec divides the octree into three portions and independently
compresses them with the most appropriate probability
model. The line chart in (a) is the octree symbol distribution of
Stanford’s bunny model. Its peak points correspond to the singlepoint
nodes which occur with an overwhelming probability. From
the line chart of (b), it is clear that our probability model (colorful
line) matches the distribution of single-point nodes (grey line) better
than the online trained probability model (black line) used by
the adaptive entropy codec
2 Algorithm and Experimental Results
Following [Huang et al. 2008], we use the 8-bit long occupancy
code to represent each cell subdivision, which uses a 1-bit flag to
signify whether a child cell is nonempty. Then all the occupancy
codes are included in symbol set S0 = {i}, i = 1...255. And
single-point nodes can be represented by symbol set S1 = {2i},
i = 0...7. As single-point nodes occur with an overwhelming probability
near the bottom of the octree, it is obvious that the octree
can be divided into upper and lower portions which are compressed
with S0 or S1 respectively. In the deeper layers of the upper part,
however, S1 symbols occur in a much higher probability than the
other S0 symbols. These layers cannot be compressed efficiently
with S0. Thus, we further divide the upper portion into 2 portions
and define a new symbol set S2 = {S1,X} for the deeper one.
The additional symbol X in S2 represents all the symbols that are
included in S0 and excluded from S1. The actual occupancy codes
are encoded in another pass with S0. Therefore, we divide the octree
into 3 portions, P0, P1 and P2, and compress them with S0,