Geometry-based Point Cloud Compression-White paper on G-PCC

2023-10-22 04:50

本文主要是介绍Geometry-based Point Cloud Compression-White paper on G-PCC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出版日期:2023-04-30

Abstract

​ 基于几何的点云压缩(G-PCC)标准,作为国际标准23090-9在ISO/IEC中标准化,是最新的国际点云编码标准。

​ 本白皮书概述了ISO/IEC 23090-9信息技术-沉浸式媒体的编码表示-第9部分:基于几何的点云压缩(G-PCC)标准。G-PCC标准为压缩不同类型的点云提供了一个通用框架,可以由G-PCC配置文件处理。

G-PCC标准介绍

​ MPEG委员会(ISO/IEC JTC 1/SC 29/WG 7)正在开发用于沉浸式媒体编码、封装和交付的MPEG-I标准。本标准的第9部分,基于几何的点云压缩(G-PCC),提供了点云媒体的编码表示标准。

​ 点云可以以各种方式创建。近年来,光探测与测距-激光雷达(Light Detection And Ranging, LiDAR)、飞行时间(Time of Flight, ToF)等三维传感器被广泛应用于动态三维场景的扫描。

​ 为了精确描述三维物体或真实场景,点云在三维空间中包含大量的点集,这些点集具有几何信息和属性信息。几何信息表示点云中每个点的三维坐标;属性信息描述了每个点的特征(如颜色和反射率)。点云需要大量的数据,给数据的存储和传输带来了巨大的挑战。

​ MPEG 3D图形编码组(3DG)于2017年1月宣布了对点云压缩的建议呼吁。这个项目的目标是为不同类型的点云提供高效的压缩技术,这些点云是通过不同的方法获得的。

​ 根据工业界和学术界的贡献,标准化活动发展为两种截然不同的技术解决方案:V-PCC (ISO/IEC 23090 Part 5),适合编码密集的内容;G-PCC (ISO/IEC 23090 Part 9)对于相对稀疏的数据是有效的。早期标准开发过程的详细历史可以在[2]中找到。

G-PCC编码设计

​ G-PCC标准为不同类型的点云提供了一个通用的压缩框架,如图1所示。

img

图1。来自MPEG PCC数据集的示例。(a) Longdress, (b) Egyptian mask, © Arco Valentino Dense, (d) Facade, (e) Ford, (f)Soldier, (g) Shiva, (h) Standford and (i) Citytunnel.

​ G-PCC分别对点云的几何信息和属性信息进行编码。首先对几何信息进行编码,而属性压缩则依赖于重构后的几何信息。图2说明了编码器和解码器的编解码器体系结构,涵盖了标准中的主要组件。

​ 对于几何,提供了两种编码工具,八叉树和Predtree(预测树)。八叉树编码提供通用的压缩方法,而Predtree编码旨在提供低延迟的应用程序。

​ G-PCC中有3种属性编码方法:区域自适应分层变换(RAHT)编码、基于插值的分层最近邻预测(Predict Transform)和具有更新/提升步骤的基于插值的分层最近邻预测(Lift Transform)。

​ 编码工具的详细信息可以在[2]中找到。
在这里插入图片描述

图2 G-PCC编解码器结构:(a)编码器,(b)解码器。索引从A到G的关键部分分别是几何预处理、八叉树编码、预测编码、属性预处理、RAHT、预测/提升和算术编码。虚线框中的模块是可选的。

功能

并行处理能力

​ 作为一种最新的编码标准,G-PCC支持用切片编码实现编码器和解码器的并行处理。一个单点云帧可以分成多个数据单元作为一个片,以允许在单个帧内进行并行处理。片是由一个几何数据单元和零个或多个属性数据单元组成的一组点。一组片可以用一个共同的tile标识符来标识。tile目录包含定义零个或更多空间区域的元数据。每个空间区域由隐式或显式的tile ID标识。每个属于同一个tile的切片可以有依赖关系,而具有不同tile索引的切片应该是独立的。从一个片到另一个片,应该有一个过程,在每个片的末尾重新初始化熵编码引擎的状态到默认值,以实现并行性。初始化熵上下文表会导致编码性能下降。然而,如果slice是为了低延迟应用程序中的数据分割目的而不是为了并行性而实现的,那么引入一个熵上下文延续标志来保存slice末尾的上下文概率表,并在下一个slice开始时将其设置回,以便持续使用相同的上下文概率。该方法可以提高切片的编码性能。

质量控制

​ 在G-PCC中,几何质量和属性质量可以独立调节。

​ 对于几何,可以通过预处理阶段的非规范体素化来实现质量调整。体素化的输入可以通过规范的质量控制工具进一步量化。对于八叉树的情况,使用树内量化来调整每个空间区域的体素分辨率。它以控制的粒度从特定的深度切割叶子节点。对于几何情况的预测,通过控制残差的精度来调整几何质量。这些调整可以独立地对每个数据单元进行。

​ 在属性方面,除了由切片和tile功能实现的基于切片的质量控制外,还有两种控制重构信号质量的方法:基于分层的量化控制和基于区域的量化控制。基于层的质量控制使得LoD方案中的每个细化层和RAHT方案中的八叉树层的质量调整成为可能。更准确地说,层QP偏移参数被标记在每个属性片头。通过将该层的QP偏移量与该片的QP相加,可以得到特定片中每一层的有效QP值。此外,由于视觉重要性在整个三维空间中可能会有所不同,量化参数可以根据切片中的点位置以区域方式进一步调整。对于需要更改QP值的指定框区域内的点,指定区域QP偏移量,并将其添加到切片QP的顶部。综上所述,基于区域的调整提供了空间域的质量控制,而基于层的调整提供了频域的质量控制。

可伸缩性

​ G-PCC支持区域可伸缩性和空间可伸缩性。区域可伸缩性是指对一个区域的部分访问。这可以通过切片和平铺功能来实现。空间可伸缩性是指访问具有较小空间分辨率的数据。如果将八叉树编码应用于几何,则可以将点云部分分辨率解码为一个更低复杂度和带宽的缩略图。属性编码还提供了一个选项来解码与几何结构协调的部分分辨率。该协调允许即时解码比原始的几何和属性信息更小的分辨率数据。

组合帧编码

​ 在基于帧的点云内容中,每一帧的文件大小可能相对较小,这对于I/O接口来说效率较低。在边缘设备中,解码器初始化的开销变得更加重要。为此,提出了组合帧编码技术,通过在组合点云组(GOP)中引入帧索引编码来解决这两个问题。由于连续点云帧具有高度的相关性,该技术也大大提高了编码效率,从而有利于基于帧的点云内容的存储使用。在解码器中用于重建输入帧的帧索引被编码在比特流中。

标准的profile和级别

G-PCC提供四种profile,简单,预测,密集和主要。

简单profile定义了针对低复杂度场景的G-PCC编码工具的最小集合。

主要profile针对通用用例。

预测profile是专门设计的激光雷达应用,旨在低延迟的场景。

稠密profile在稠密/实点云内容上提供了更好的编码性能。

主要profile定义了通用工具集,允许为自己的用例定制编码工具组合。

对于上面定义的profile,级别通常对应于特定的解码器处理负载和内存能力。

G-PCC性能

​ 通过对G-PCC CTC[5]进行实验,获得了G-PCC的性能。定义了4种测试条件,C1为无损几何-有损属性编码,C2为近似无损几何-有损属性编码,CW为无损几何-无损属性编码,CY为无损几何-近似无损属性编码。为清楚起见,近似无损意味着有界误差,而不是巨大的误差。

​ 对于测试数据集,评估了各种内容,包括人体模型、建筑、物体、景观和激光雷达采集数据。根据内容密度或捕获方法的不同,将数据集分为Solid, Dense,Sparse, Scant, Automotive-frame, and Automotive-fused六种类型。

​ 基于率失真(RD)性能进行评价。比特率以多少比特每输入点(bpp)的形式报告。对于有损压缩,几何失真是由点对点(D1)和点对平面(D2)度量。颜色失真通过每个通道的PSNR来测量:Y (Luma), Cb,和Cr (Chroma)。反射失真也可以用PSNR计算,但仅适用于单通道。

​ 为了反映G-PCC标准化活动的进展,将当前的测试模型(即TMC13v12)与其早期版本(即2018年发布的TMC13v3)和中期版本(即2019年发布的TMC13v6)进行比较。更具体地说,以TMC13v3为锚点对TMC13v6和TMC13v12进行基准测试。值得注意的是,没有选择TMC13v1作为基线,因为当时模型中的很多工具还不成熟,无法进行形成性比较。

img

​ 图3 G-PCC几何编码性能示例

在这里插入图片描述

​ 图4 G-PCC属性编码性能示例

​ 为了将G-PCC与现有的点云压缩方案进行基准测试,我们使用了用于压缩3D网格和点云的开源库Draco[8]进行比较。为了进行公平的比较,在正确配置Draco编解码器时需要特别注意。具体来说,为了正确分析几何编码性能,对Draco软件进行了修改,从输入点剥离颜色属性。两个encode/decode通过用于非位置属性:第一个编码几何,第二个编码几何加上所需的属性。压缩大小的差异被用作对给定属性编码所需比特的估计。为了根据G-PCC CTC评估编解码器在不同尺度上的性能,使用外部预处理和后处理阶段对点云进行量化,允许与G-PCC进行直接比较。

​ 表1和表2分别对Draco和G-PCC在有损和无损条件下的情况进行了比较。对于G-PCC, TMC13v12按照生成锚定结果所用的G-PCC CTC进行配置。注意,对Cat3-frame数据执行预测几何编码,而对其他类别执行八叉树几何编码。

在这里插入图片描述

​ 表1 draco和G-PCC在有损情况下的BD-RATE的性能比较。

在这里插入图片描述

​ 表2 在无损条件下,draco和G-PCC的比特-输入点(BPIP)比的性能比较。

公开可得的资料和资源

​ MPEG开发了G-PCC测试模型作为其参考软件编译码库[5]。它的目的是演示编码效率能力和标准中指定的语法和解码过程的正确解释(但不是作为速度优化的实现),并打算作为产品实现的起始基础。该软件在BSD版权许可下可用。G-PCC的结果在各种学术刊物上都有报道,但在参考文献中很少列出。

G-PCC vs V-PCC

​ 在开发G-PCC的同时,MPEG联盟还发布了用于编码点云的V-PCC标准。

​ V-PCC遵循基于投影的编码原则。点坐标被编码为相对于特定平面的距离。与3D点相关的属性被投影到2D图上。二维视频编解码器可用于编码几何和属性信息。与V-PCC不同,G-PCC是一种面向三维的压缩方案,它直接对三维空间中的点云进行编码。数据结构如八叉树和kd-tree被用来表示点云。G-PCC分别对点云的几何信息和属性信息进行编码。首先对几何进行编码,因为属性编码依赖于重构的几何。

​ 此外,G-PCC对输入点云坐标表示不做任何假设。这些点有一个内部的基于整数的值,由浮点值表示转换而来。这种转换在概念上类似于输入点云的体素化,可以通过缩放、平移和舍入来实现。G-PCC的另一个关键概念是tiles和slices的定义,以允许并行编码功能。在G-PCC中,slice被定义为一组可以独立编码和解码的点(几何和属性)。tile是一组带有边界框信息的slice。一个tile可以与另一个tile重叠,解码器可以通过访问特定的slices来解码点云的部分区域。

​ 在压缩性能方面,G-PCC为大多数点云类型提供了最先进的结果。相比之下,在低噪声和低运动的密集点云的特殊情况下,V-PCC优于G-PCC。

G-PCC的未来工作

​ 当前G-PCC标准的一个限制是,它只定义为内部预测,也就是说,它目前没有使用任何时间预测工具。然而,基于点云运动估计和帧间预测的技术正在考虑用于下一个版本的标准。此外,MPEG还在研究G-PCC在稠密点云中的扩展。

引用

[1] Call for proposals for point cloud coding v2, ISO/IEC JTC1/SC29/WG11, N16763, 2017.
[2] S. Schwarz et al., “Emerging MPEG Standards for Point Cloud Compression,” in IEEE Journal on
Emerging and Selected Topics in Circuits and Systems, vol. 9, no. 1, pp. 133-148, March 2019.
[3] G-PCC codec description, ISO/IEC JTC 1/SC 29/WG 7 N0057, January 2021
[4] G-PCC performance evaluation and anchor results, ISO/IEC JTC 1/SC 29/WG 7 N0054, January 2021
[5] Common Test Conditions for G-PCC, ISO/IEC JTC 1/SC 29/WG 7 N0368, October 2022
[6] Guidelines to use G-PCC for achieving best compression performances, ISO/IEC JTC 1/SC 29/WG 7
N0460, October 2021
[7] https://github.com/MPEGGroup/mpeg-pcc-tmc13
[8] Google, “Draco: 3D Data Compression (2018),” https://github.com/google/draco, 2018.
[9] Graziosi, D., Nakagami, O., Kuma, S., Zaghetto, A., Suzuki, T., & Tabatabai, A. (2020). An
overview of ongoing point cloud compression standardization activities: Video-based (V-PCC) and
geometry-based (G-PCC). APSIPA Transactions on Signal and Information Processing, 9, e13.
[10] Yu, Y., Zhang, W., & Yang, F. (2022, December). Azimuth Adjustment Considering LiDAR
Calibration for the Predictive Geometry Compression in G-PCC. In 2022 IEEE International
Conference on Visual Communications and Image Processing (VCIP) (pp. 1-5). IEEE.
[11] Liu, H., Yuan, H., Liu, Q., Hou, J., & Liu, J. (2019). A comprehensive study and comparison of
core technologies for MPEG 3-D point cloud compression. IEEE Transactions on Broadcasting,
66(3), 701-717.
[12] Zhang, X., Gao, W., & Liu, S. (2020, March). Implicit geometry partition for point cloud
compression. In 2020 Data Compression Conference (DCC) (pp. 73-82). IEEE.
[13] Cao, C., Preda, M., Zakharchenko, V., Jang, E. S., & Zaharia, T. (2021). Compression of
sparse and dense dynamic point clouds—methods and standards. Proceedings ofthe IEEE, 109(9),
1537-1558.
[14] S. Schwarz et al., “Emerging MPEG Standards for Point Cloud Compression,” in IEEE Journal
on Emerging and Selected Topics in Circuits and Systems, vol. 9, no. 1, pp. 133-148, March 2019,
doi: 10.1109/JETCAS.2018.2885981.
[15] Giuseppe Valenzise, Maurice Quach, Dong Tian, Jiahao Pang, Frédéric Dufaux, Chapter 13 -
Point cloud compression, Editor(s): Giuseppe Valenzise, Martin Alain, Emin Zerman, Cagri
Ozcinar, Immersive Video Technologies, Academic Press, 2023, Pages 357-385, ISBN
9780323917551,

这篇关于Geometry-based Point Cloud Compression-White paper on G-PCC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259132

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

Java后端微服务架构下的服务网关设计:Spring Cloud Zuul

Java后端微服务架构下的服务网关设计:Spring Cloud Zuul 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,服务网关是微服务系统与外部世界的入口点,它负责请求路由、负载均衡、认证、监控等任务。Spring Cloud Zuul是一个基于Spring Boot的网关服务,它为微服务架构提供了一种灵活、高效的网关解决方案。 服务

Spring Cloud整合Seata实现分布式事务

文章目录 1.Seata1.1 官网1.2 下载1.3 通过安装包运行seata1.3.1 解压seata-server-1.3.0.zip1.3.2 修改 conf/file.conf 配置文件1.3.3 修改conf/registry.conf配置文件1.3.4 添加seata配置信息到nacos1.3.5 配置seata服务端数据库表结构1.3.6 启动seata 2.Spring

ELK+Spring Cloud搭建分布式日志中心

ELK+Spring Cloud搭建分布式日志中心 1.ELK简介2.资源包下载3.Elasticsearch安装3.1 解压Elasticsearch3.2 修改Elasticsearch的配置文件3.3 修改系统配置3.4 启动Elasticsearch 4.ElasticSearch-head插件安装5.Logstash安装6.Kibana安装7.SpringCloud集成logsta

spring cloud gateway配置

1:Intellij 新建项目 spring-cloud-gateway 2:pom.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schem

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{

spring cloud eureka注册中心搭建

1、创建maven项目,在pom.xml 中加入相应jar包 2、在src/main/resources中创建application.properties文件,内容为 spring.application.name=eureka-server   // 注册中心服务名称 server.port=8761 // 注册中心服务端口 # 本身注册中心是一个服务但是不需要注册自己 eureka.c

Android Studio打开Modem模块出现:The project ‘***‘ is not a Gradle-based project

花了挺长时间处理该问题,特记录如下:1.背景: 在Android studio 下导入一个新增的modem模块,如MPSS.DE.3.1.1\modem_proc\AAA, 目的是看代码方便一些,可以自由搜索各种关键字。但导入该项目时出现了如下错误: The project '***' is not a Gradle-based project.造成的问题: (1) project 下没有代码,而