
PREPRINT OF SUBMISSION TO IEEE SIGNAL PROCESSING LETTERS 2021 1 Set Partitioning in Hierarchical Trees for Point Cloud Attribute Compression Andre´ L. Souto, Victor F. Figueiredo, Student Member, IEEE, Philip A. Chou, Fellow, IEEE, and Ricardo L. de Queiroz, Fellow, IEEE Abstract—We propose an embedded attribute encoding method [7], it was realized that reordering RAHT coefficients could for point clouds based on set partitioning in hierarchical trees improve the performance of the RLGR-based coder to rival (SPIHT) [1]. The encoder is used with the region-adaptive hier- the AC-based one. G-PCC provides a RAHT encoder with a archical transform [2] which has been a popular transform for point cloud coding, even included in the standard geometry-based number of improvements in quantization, arithmetic encoding point cloud coder (G-PCC) [3],[4]. The result is an encoder that and coefficient prediction. is efficient, scalable, and embedded. That is, higher compression In this work, we explore the use of set partitioning in is achieved by trimming the full bit-stream. G-PCC’s RAHT hierarchical trees (SPIHT) [1] in the context of PC attribute coefficient prediction prevents the straightforward incorporation compression. SPIHT is an alternative to encoding RAHT of SPIHT into G-PCC. However, our results over other RAHT- based coders are promising, improving over the original, non- coefficients with either AC or RLGR. SPIHT, unlike either predictive RAHT encoder, while providing the key functionality alternative, is an embedded coder, where the bit-stream is of being embedded. build by progressively increasing the quality and resolution Index Terms—Bit-Plane Encoding, Point Cloud, RAHT, of the PC. It is inherently scalable and allows for progressive SPIHT. transmission. There is a single bit-stream, and the amount of compression achieved is determined by how much of the bit- stream is kept. I. INTRODUCTION OINT clouds, as a 3D data representation, can be used II. SET PARTITIONING IN HIERARCHICAL TREES P in several applications, including virtual/augmented real- ity, immersive telepresence, autonomous driving, and cultural The SPIHT algorithm [1] is a bit-plane coder that uses a heritage archival [3], [4]. A point cloud (PC) is described hierarchical set partition to code the bit-plane information. by its geometry, the three-dimensional coordinates (x; y; z) The core of the algorithm is very simple. The encoder is of each point in the set, and its attributes, like color and given a step-size ∆, a collection of real-valued coefficients reflectance. A PC usually comprises a large number of points fct : t 2 T g indexed by a set T , and a hierarchical set and, because of that, the Moving Pictures Expert Group partition of T . The encoder quantizes each coefficient ct into (MPEG) developed standard algorithms for PC compression an integer kt = round(ct=∆), and then transmits the bit- [3], [4]. MPEG’s Geometry-based Point Cloud Compression planes of jktj along with sign(kt) if kt is non-zero. The (G-PCC) [5] standard was designed for compressing static PCs bit-planes are transmitted from the most significant bit-plane and compresses geometry and attributes separately. Geometry b = bmax = blog2(maxt2T jktj)c to the least significant bit- compression is outside the scope of this work and, in G-PCC, plane b = 0. A coefficient ct is said to be significant in bit- one of the attribute coding methods is based on the region- plane b if blog2(jktj)c ≥ b. Otherwise it is insignificant in adaptive hierarchical transform (RAHT) [5], [2]. bit-plane b. RAHT is an orthogonal transform that resembles a A hierarchical set partition of T is a partition of T into geometry-adaptive version of the Haar transform [2]. Trans- sets, and a further partition of those sets into sets until there form coefficient encoding typically uses arithmetic coding is only a single set of sets T0 remaining. The hierarchical set (AC). Since RAHT was developed to be used in real-time partition forms a tree structure. At the leaves of the tree are telepresence systems, a simpler adaptive run-length Golomb- singleton sets, that is, sets ftg containing only single elements Rice encoding (RLGR) [6] was originally tested with RAHT. t 2 T . At the internal nodes of the tree are compound sets, It led to a noticeably inferior performance, compared to the that is, sets containing one or more other sets. A set in the AC coder, but enabling a much simpler implementation. In hierarchical set partition is said to be significant (in bit-plane b) if any of its member sets are significant, or insignificant if This study was financed in part by Coordenac¸ao˜ de Aperfeic¸oamento de all of its members sets are insignificant. A singleton set ftg Pessoal Superior - Brasil (CAPES) - Finance Code 001 and by CNPq under is significant if and only if coefficient ct is significant. grant 301647/2018-6. V. F. Figueiredo and A. L. Souto are with the Electrical Engineering SPIHT can use a single bit to declare that an entire set Department, University of Brasilia, Brasilia, Brazil (e-mails: [email protected] T 0 in the hierarchical set partition is insignificant in bit-plane and [email protected]). b, needing no further attention in that bit-plane. However, if P. A. Chou is with Google, Seattle, WA, USA, (e-mail: [email protected]). 0 R. L. de Queiroz is with the Computer Science Department, University of T turns out to be significant, then SPIHT must open up the Brasilia, Brasilia, Brazil (e-mail: [email protected]). set to consider which of its elements are actually significant. PREPRINT OF SUBMISSION TO IEEE SIGNAL PROCESSING LETTERS 2021 2 0 Algorithm 1 - SPIHT encoder If T is a singleton set ftg, then ct is newly significant. 0 0 0 Input: ∆, fct : t 2 T g, T0 Otherwise, if T is a compound set fT1;:::;Tng, then at least 0 0 1: /* Initialization */ one of the sets T1;:::;Tn must be significant, and SPIHT 2: for t 2 T do kt = round(ct=∆) must recursively use a single bit to signal whether or not each 3: LSN empty list . Significant Nodes member set is significant. A version of the SPIHT encoding 4: LIS list of member sets in T0 . Insignificant Sets algorithm, analogous to the original algorithm in [1], is shown 5: b bmax = blog2(maxt2T jktj)c . index of highest bitplane in Algorithm 1. The decoding algorithm is similar, replacing 6: /* Refinement Pass */ 7: for t 2 LSN do encoding each bit by decoding each bit. In the algorithm, the each element 8: Encode bit b of kt following quantities are defined: 9: end for • O(t): the nodes that are direct descendants of node t, 10: /* Sorting Pass */ 0 • D(t): the set of nodes that are descendants of node t, 11: for each set T in LIS do 0 1 12: Encode Sb(T ) = fblog2(maxt2T 0 jktj)c ≥ bg • L(t): set defined by L(t) = D(t) − O(t), 0 13: if Sb(T ) = 1 then • LIS: List of Insignificant Sets, and 14: if T 0 is a singleton ftg then • LSN: List of Significant Nodes. 15: Encode the sign of kt 16: Remove T 0 from LIS; add t to LSN With this, two different types of compound sets are defined: 0 0 17: else // T is a set of sets • T ype A T = D(t) = fft g : t 2 O(t)g [ fL(t)g 0 : c c , and 18: if T =D(t) = fftcg : tc 2 O(t)g[fL(t)g (type A) then 0 • T ype B: T = L(t) = fD(tc): tc 2 O(t)g . 19: for each singleton set ftcg in D(t) do 1 The algorithm operates as follows. The encoder initializes 20: Encode Sb(ftcg) = fblog2(jktc j)c ≥ bg a List of Significant Nodes (LSN) as an empty set, a List of 21: if Sb(ftcg) = 1 then 22: Encode the sign of k ft g D(t ) tc Insignificant Sets (LIS) as the list of sets 0 and 0 in the 23: Add tc to LSN top level T0 = fft0g; D(t0)g of the hierarchical set partition, 24: end if and b as the most significant bit-plane b = bmax. Then, for 25: end for 26: if L(t) is not empty then each bit-plane b = bmax;:::; 0, the algorithm goes through a refinement pass and a sorting pass. 27: Move L(t) to the end of the LIS as a type B 28: end if In the refinement pass, the indices t of any coefficients that 0 29: else // T = L(t) = fD(tc): tc 2 O(t)g (type B) became significant in a previous bit-plane are found in the 30: Add each D(tc) in L(t) to end of LIS as type A LSN. SPIHT refines such coefficients by encoding the b-th bit 31: end if 32: Delete T 0 from LIS of jktj for all elements t in the LSN. In the sorting pass, the sets T 0 found in the LIS are 33: end if 0 34: end if processed sequentially. When a set T in the LIS is processed, 35: end for 0 0 a bit Sb(T ) is encoded to signal whether T is significant or 36: /* Iterate */ not in bit-plane b. If T 0 is insignificant, then no action is taken 37: b b − 1 and it is revisited in subsequent bit-planes. However, if T 0 is 38: if b > 0 then go back to Refinement Pass significant, then it is opened and its members are examined.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-