Hostname: page-component-76d6cb85b7-5qg8f Total loading time: 0 Render date: 2026-07-15T02:40:59.151Z Has data issue: false hasContentIssue false

Dynamic polygon clouds: representation and compression for VR/AR

Published online by Cambridge University Press:  20 November 2018

Eduardo Pavez*
Affiliation:
Department of Electrical Engineering, University of Southern California, Los Angeles, CA, USA
Philip A. Chou
Affiliation:
Google, Inc., Mountain View, CA, USA Microsoft Research, Redmond, WA, USA
Ricardo L. de Queiroz
Affiliation:
Computer Science Department, Universidade de Brasilia, Brasilia, Brazil
Antonio Ortega
Affiliation:
Department of Electrical Engineering, University of Southern California, Los Angeles, CA, USA
*
Corresponding author: Eduardo Pavez pavezcar@usc.edu

Abstract

We introduce the polygon cloud, a compressible representation of three-dimensional geometry (including attributes, such as color), intermediate between polygonal meshes and point clouds. Dynamic polygon clouds, like dynamic polygonal meshes and dynamic point clouds, can take advantage of temporal redundancy for compression. In this paper, we propose methods for compressing both static and dynamic polygon clouds, specifically triangle clouds. We compare triangle clouds to both triangle meshes and point clouds in terms of compression, for live captured dynamic colored geometry. We find that triangle clouds can be compressed nearly as well as triangle meshes, while being more robust to noise and other structures typically found in live captures, which violate the assumption of a smooth surface manifold, such as lines, points, and ragged boundaries. We also find that triangle clouds can be used to compress point clouds with significantly better performance than previously demonstrated point cloud compression methods. For intra-frame coding of geometry, our method improves upon octree-based intra-frame coding by a factor of 5–10 in bit rate. Inter-frame coding improves this by another factor of 2–5. Overall, our proposed method improves over the previous state-of-the-art in dynamic point cloud compression by 33% or more.

Information

Type
Original Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited. Used with permission from Microsoft Corporation.
Copyright
Copyright © Microsoft 2018
Figure 0

Table 1. Notation

Figure 1

Fig. 1. Triangle cloud geometry information. (b) A triangle in a dynamic triangle cloud is depicted. The vertices of the triangle at time t are denoted by $v_i^{(t)},\,v_j^{(t)},\,v_k^{(t)}$. Colored dots represent “refined” vertices, whose coordinates can be computed from the triangle's coordinates using Alg. 5. Each refined vertex has a color attribute. (a) Man mesh. (b) Correspondences between two consecutive frames.

Figure 2

Fig. 2. Encoder (left) and decoder (right). The switches are in the t=1 position, and flip for t>1.

Figure 3

Algorithm 1 Voxelization (voxelize)

Figure 4

Fig. 3. Cube subdivision. Blue cubes represent occupied regions of space.

Figure 5

Fig. 4. One level of RAHT applied to a cube of eight voxels, three of which are occupied.

Figure 6

Fig. 5. Transform coding system for voxelized point clouds.

Figure 7

Algorithm 2 Prologue to RAHT and its Inverse (IRAHT) (prologue)

Figure 8

Algorithm 3 Region Adaptive Hierarchical Transform

Figure 9

Algorithm 4 Inverse Region Adaptive Hierarchical Transform

Figure 10

Fig. 6. Initial frames of datasets Man, Soccer, and Breakers. (a) Man. (b) Soccer. (c) Breakers.

Figure 11

Table 2. Dataset statistics. Number of frames, number of GOFs (i.e., number of reference frames), and average number of vertices and faces per reference frame, in the original HCap datasets, and average number of occupied voxels per frame after voxelization with respect to reference frames. All sequences are 30 fps. For voxelization, all HCap meshes were upsampled by a factor of U=10, normalized to a $1\times 1\times 1$ bounding cube, and then voxelized into voxels of size $2^{-J}\times 2^{-J}\times 2^{-J}$, J=10

Figure 12

Table 3. Intra-frame coding of the geometry of voxelized point clouds. “Previous” refers to our implementation of the octree coding approach described in [24,29,31,46]

Figure 13

Fig. 7. RD curves for temporal geometry compression. Rates include all geometry information.

Figure 14

Fig. 8. Visual quality of geometry compression. Bit rates correspond to all geometry information. (a) original, (b) 62 dB (1.6 Mbps), (c) 70.5 dB (2.2 Mbps).

Figure 15

Fig. 9. Kilobits/frame required to code the geometry information for each frame for different values of the motion residual quantization stepsize $\Delta _{motion} \in \lbrace 1,\,2,\,4,\,8\rbrace $. Reference frames encode ${\bf V}^{(1)}_v$ using octree coding plus gzip and encode ${\bf I}_v^{(1)}$ using run-length coding plus gzip. Predicted frames encode their motion residuals $\Delta {\bf V}^{(t)}$ using transform coding. (a) Man, (b) Soccer, (c) Breakers.

Figure 16

Fig. 10. Mean squared quantization error required to code the geometry information for each frame for different values of the motion residual quantization stepsize $\Delta _{motion} \in \lbrace 1,\,2,\,4,\,8\rbrace $. Reference frames encode ${\bf V}^{(1)}_v$ using octrees; hence the distortion is due to quantization error is $\epsilon ^2$. Predicted frames encode their motion residuals $\Delta {\bf V}^{(t)}$ using transform coding. (a) Man, (b) Soccer, (c) Breaker.

Figure 17

Fig. 11. Luminance (Y) component rate-distortion performances of (top) Man, (middle) Soccer and (bottom) Breakers sequences, for different intra-frame stepsizes $\Delta _{color,intra}$. Rate includes all (Y , U, V ) color information.

Figure 18

Fig. 12. Temporal coding versus all-intra coding. The bit rate contains all (Y , U, V ) color information, although the distortion is only the luminance (Y ) PSNR.

Figure 19

Fig. 13. Kilobits/frame required to code the color information for each frame for different values of the color residual quantization stepsize $\Delta _{color} \in \lbrace 1,\,2,\,4,\,8\rbrace $. Reference frames encode their colors ${\bf C}_{rv}^{(1)}$ and predicted frames encode their color residuals $\Delta {\bf C}_{rv}^{(t)}$ using transform coding. (a) Man, (b) Soccer, (c) Breakers.

Figure 20

Fig. 14. Mean squared quantization error required to code the color information for each frame for different values of the color residual quantization stepsize $\Delta _{color} \in \lbrace 1,\,2,\,4,\,8\rbrace $. Reference frames encode their colors ${\bf C}_{rv}^{(1)}$ and predicted frames encode their color residuals $\Delta {\bf C}_{rv}^{(t)}$ using transform coding. (a) Man, (b) Soccer, (c) Breakers.

Figure 21

Fig. 15. RD curves for geometry triangle cloud and matching distortion versus geometry bit rates (Man sequence).

Figure 22

Fig. 16. RD curves for color triangle cloud and matching distortion versus geometry bit rates (Man sequence). The color stepsize is set to $\Delta _{color}=1$.

Figure 23

Fig. 17. RD curves for color triangle cloud, projection, and matching distortion versus color bit rates (Man sequence). The motion stepsize is set to $\Delta _{motion}=1$.

Figure 24

Algorithm 5 Refinement (refine)

Figure 25

Algorithm 6 Refinement and Color Interpolation

Figure 26

Algorithm 7 Uniform scalar quantization (quantize)

Figure 27

Algorithm 8 Encode reference frame (I-encoder)

Figure 28

Algorithm 9 Decode reference frame (I-decoder)

Figure 29

Algorithm 10 Encode predicted frame (P-encoder)

Figure 30

Algorithm 11 Decode predicted frame (P-decoder)