CN116235213A - 在基于几何的点云压缩(g-pcc)中的量化参数值的缩放 - Google Patents
在基于几何的点云压缩(g-pcc)中的量化参数值的缩放 Download PDFInfo
- Publication number
- CN116235213A CN116235213A CN202180066708.5A CN202180066708A CN116235213A CN 116235213 A CN116235213 A CN 116235213A CN 202180066708 A CN202180066708 A CN 202180066708A CN 116235213 A CN116235213 A CN 116235213A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- value
- node
- offset
- final
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Image Generation (AREA)
- Radar Systems Or Details Thereof (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
G‑PCC译码器被配置为:接收点云数据,根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值,并且使用最终QP值对点云数据进行译码以创建经译码的点云。
Description
本申请要求享有于2021年10月1日提交的美国专利申请No.17/492,095以及于2020年10月5日提交的美国临时专利申请No.63/087,805的优先权,上述两个申请的全部内容以引用方式并入本文中。于2021年10月1日提交的美国专利申请No.17/492,095要求享有于2020年10月5日提交的美国临时专利申请No.63/087,805的优先权。
技术领域
本公开内容涉及点云编码(encode)和解码(decode)。
背景技术
点云是三维空间中的点的集合。点可以对应于在三维空间中的对象上的点。因此,点云可以用于表示三维空间的物理内容。点云可以在各种各样的情况下发挥作用。例如,在自动驾驶车辆的情况下,点云可以用于表示在道路上的对象的位置。在另一示例中,为了在增强现实(AR)或混合现实(MR)应用中定位虚拟对象,点云可以用于表示环境的物理内容的情况。点云压缩是用于对点云进行编码和解码的过程。对点云进行编码可以减少点云的存储和传输所需要的数据量。
发明内容
通常,本公开内容描述改善基于几何的点云的量化和缩放的方法和设备。特别是,本公开内容描述用于使用以与比先前技术相比较低的比特数用信号通知的语法元素来确定最终量化参数(QP)值的技术。例如,本公开内容描述根据节点QP偏移乘以几何QP乘数来确定最终QP值的技术。通过使用乘数,具有较少比特数的语法元素可以用于导出大节点QP偏移项,从而减少用于最终QP确定的信令开销。
在一个示例中,本公开内容描述被配置为对点云进行编码的装置,装置包括被配置为存储点云数据的存储器、以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
在另一示例中,本公开内容描述用于对点云进行编码的方法,方法包括:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
在另一示例中,本公开内容描述存储指令的非暂时性计算机可读存储介质,指令在被执行时使得被配置为对点云进行编码的设备的一个或多个处理器执行以下操作:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
在另一示例中,本公开内容描述被配置为对点云进行编码的装置,装置包括:用于接收点云数据的单元;用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值的单元;以及用于使用最终QP值,对点云数据进行编码以创建经编码的点云的单元。
在另一示例中,本公开内容描述被配置为对点云进行解码的装置,装置包括被配置为存储经编码的点云数据的存储器、以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
在另一示例中,本公开内容描述对点云进行解码的方法,方法包括:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
在另一示例中,本公开内容描述存储指令的非暂时性计算机可读存储介质,指令在被执行时使得被配置为对点云进行解码的设备的一个或多个处理器执行以下操作:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
在另一示例中,本公开内容描述被配置为对点云进行解码的装置,装置包括:用于接收经编码的点云数据的单元;用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值的单元;以及用于使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云的单元。
在附图和下文说明书中阐述一个或多个示例的细节。根据说明书、附图以及权利要求书,其它特征、目标和优点将是显而易见的。
附图说明
图1是示出可以执行本公开内容的技术的示例视频编码和解码系统的方块图。
图2是示出示例几何点云压缩(G-PCC)编码器的方块图。
图3是示出示例G-PCC解码器的方块图。
图4是示出预测树的示例的概念图。
图5是示出本公开内容的示例编码技术的流程图。
图6是示出本公开内容的示例解码技术的流程图。
图7是示出可以与本公开内容的一种或多种技术一起使用的示例测距系统的概念图。
图8是示出可以在其中使用本公开内容的一种或多种技术的示例基于车辆的场景的概念图。
图9是示出可以在其中使用本公开内容的一种或多种技术的示例扩展现实系统的概念图。
图10是示出可以在其中使用本公开内容的一种或多种技术的示例移动设备系统的概念图。
具体实施方式
通常,本公开内容描述改善基于几何的点云的量化和缩放的方法和设备。特别是,本公开内容描述用于使用以与比先前技术相比较低的比特数用信号通知的语法元素来确定最终量化参数(QP)值的技术。例如,本公开内容描述根据节点QP偏移乘以几何QP乘数来确定最终QP值的技术。通过使用乘数,具有较少比特数的语法元素可以用于导出大节点QP偏移项,从而减少用于最终QP确定的信令开销。
图1是示出可以执行本公开内容的技术的示例编码和解码系统100的方块图。本公开内容的技术通常针对对点云数据进行译码(code)(编码(encode)和/或解码(decode)),即支持点云压缩。通常,点云数据包括用于对点云进行处理的任何数据。译码在压缩和/或解压缩点云数据时可能是有效的。
如在图1中所示出的,系统100包括源设备102和目的地设备116。源设备102提供要由目的地设备116进行解码的经编码的点云数据。特别是,在图1的示例中,源设备102经由计算机可读介质110,将点云数据提供给目的地设备116。源设备102和目的地设备116可以包括广泛的设备中的任何设备,包括桌面型计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持装置(比如智能手机)、电视、照相机、显示设备、数字媒体播放器、视频游戏操纵台、视频流设备、陆地或海洋交通工具、航天器、飞机、机器人、LIDAR设备、卫星、监视或安全设备等等。在一些情况下,源设备102和目的地设备116可以被配备用于无线通信。
在图1的示例中,源设备102包括数据源104、存储器106、G-PCC编码器200和输出接口108。目的地设备116包括输入接口122、G-PCC解码器300、存储器120和数据消费器118。根据本公开内容,源设备102的G-PCC编码器200和目的地设备116的G-PCC解码器300可以被配置为应用本公开内容的与量化参数的缩放相关的技术。因此,源设备102表示编码设备的示例,而目的地设备116表示解码设备的示例。在其它示例中,源设备102和目的地设备116可以包括其它组件或布置。例如,源设备102可以从内部或外部源接收数据(例如,点云数据)。同样,目的地设备116可以与外部数据消费器对接,而不是在同一设备中包括数据消费器。
如在图1中所示的系统100仅仅是一个示例。通常,其它数字编码和/或解码设备可以执行本公开内容的与量化参数的缩放相关的技术。源设备102和目的地设备116仅仅是这样的设备的示例,其中,源设备102生成用于传输到目的地设备116的经编码的数据。本公开内容将“译码”设备称为执行数据的译码(编码和/或解码)的设备。因此,G-PCC编码器200和G-PCC解码器300分别表示译码设备(特别是,编码器和解码器)的示例。类似地,术语“译码”可以指代编码或解码中的任何一项。在一些示例中,源设备102和目的地设备116可以以基本上对称的方式操作,使得源设备102和目的地设备116中的每者包括编码和解码组件。因此,系统100可以支持在源设备102与目的地设备116之间的单向或双向传输,例如,用于流式传输、回放、广播、电话、导航和其它应用。
通常,数据源104表示数据(即,原始的、未编码的点云数据)的源,并且将数据的连续的“帧”序列提供给G-PCC编码器200,G-PCC编码器200对针对帧的数据进行编码。源设备102的数据源104可以包括点云捕获设备,比如各种各样的照相机或传感器中的任何一种(例如,3D扫描仪或光检测和测距(LIDAR)设备)、一个或多个视频摄像机、包含先前捕获的数据的档案和/或用于从内容提供商接收数据的数据馈送接口。用此方式,数据源104可以生成点云。替代地或另外地,点云数据可以是来自扫描仪、照相机、传感器的计算机生成的数据或者其它数据。例如,数据源104可以生成基于计算机图形的数据作为源数据、或者产生实时数据、存档数据和计算机生成的数据的组合。在每种情况下,G-PCC编码器200对捕获的、预捕获的或计算机生成的数据进行编码。G-PCC编码器200可以将帧从接收的顺序(有时称为“显示顺序”)重新排列为用于译码的译码顺序。G-PCC编码器200可以生成包括经编码的数据的一个或多个比特流。然后,源设备102可以经由输出接口108将经编码的数据输出到计算机可读介质110上,以供例如目的地设备116的输入接口122进行接收和/或取回。
源设备102的存储器106和目的地设备116的存储器120可以表示通用存储器。在一些示例中,存储器106和存储器120可以存储原始数据,例如,来自数据源104的原始数据和来自G-PCC解码器300的原始的经解码的数据。另外地或替代地,存储器106和存储器120可以存储可由例如G-PCC编码器200和G-PCC解码器300分别执行的软件指令。尽管在该示例中,存储器106和存储器120被示为与G-PCC编码器200和G-PCC解码器300分离,但应当理解,G-PCC编码器200和G-PCC解码器300还可以包括用于功能上相似或等效的目的的内部存储器。此外,存储器106和存储器120可以存储经编码的数据,例如,来自G-PCC编码器200的输出以及到G-PCC解码器300的输入)。在一些示例中,可以将存储器106和存储器120的各部分分配为一个或多个缓冲器,例如,以存储原始的、经解码和/或经编码的数据。例如,存储器106和存储器120可以存储表示点云的数据。换言之,存储器106和存储器120可以被配置为存储点云数据。
计算机可读介质110可以表示能够将经编码的数据从源设备102传输到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示使得源设备102能够例如经由射频网络或基于计算机的网络实时地将经编码的数据(例如,经编码的点云)直接发送到目的地设备116的通信介质。根据通信标准(比如无线通信协议),输出接口108可以对包括经编码的数据的传输信号进行调制,并且输入接口122可以对接收的传输信号进行解调。通信介质可以包括任何无线或有线通信介质,比如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(比如局域网、广域网或全球网络(比如互联网))的一部分。通信介质可以包括路由器、交换机、基站或者可以用于促进从源设备102到目的地设备116的通信的任何其它设备。
在一些示例中,源设备102可以将经编码的数据从输出接口108输出到存储设备112。类似地,目的地设备116可以经由输入接口122,从存储设备112访问经编码的数据。存储设备112可以包括各种分布式或本地访问的数据存储介质(比如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器)或者用于存储经编码的数据的任何其它适当的数字存储介质中的任何存储介质。
在一些示例中,源设备102可以将经编码的数据输出到文件服务器114或者可以存储由源设备102所生成的经编码的数据的另一中间存储设备。目的地设备116可以经由流式传输或下载,从文件服务器114访问所存储的数据。文件服务器114可以是能够存储经编码的数据并且将该经编码的数据发送到目的地设备116的任何类型的服务器设备。文件服务器114可以表示网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、内容传送网络设备、或网络附加存储(NAS)设备。目的地设备116可以通过包括互连网连接的任何标准数据连接,从文件服务器114访问经编码的数据。这可以包括适于访问被存储在文件服务器114上的经编码数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等等)或二者的组合。文件服务器114和输入接口122可以被配置为根据流式传输协议、下载传输协议或者其组合进行操作。
输出接口108和输入接口122可以表示无线发射器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任何标准进行操作的无线通信组件、或者其它物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据蜂窝通信标准(比如4G、4G-LTE(长期演进)、高级LTE、5G等),来传输数据(比如经编码的数据)。在输出接口108包括无线发射器的一些示例中,输出接口108和输入接口122可以被配置为根据其它无线标准(比如IEEE 802.11规范、IEEE802.15规范(例如,ZigBeeTM)、蓝牙标准等),来传输数据(比如经编码的数据)。在一些示例中,源设备102和/或目的地设备116可以包括相应的片上系统(SoC)设备。例如,源设备102可以包括执行归属于G-PCC编码器200和/或输出接口108的功能的SoC设备,以及目的地设备116可以包括执行归属于G-PCC解码器300和/或输入接口122的功能的SoC设备。
本公开内容的技术可以应用于支持各种应用中的任何应用的编码和解码,比如在自动驾驶车辆之间的通信、在扫描仪、照相机、传感器与处理设备(比如本地或远程服务器)之间的通信、地理地图、或者其它应用。
在一些示例中,源设备102和/或目的地设备116是移动设备(比如移动电话)、增强现实(AR)设备或混合现实(MR)设备。在这样的示例中,作为映射源设备102的本地环境的过程的一部分,源设备102可以生成点云并且对点云进行编码。关于AR和MR示例,目的地设备116可以基于源设备102的本地环境,使用点云来生成虚拟环境。在一些示例中,源设备102和/或目的地设备116是陆地或海洋交通工具、航天器或飞行器。在这样的示例中,作为映射源设备的环境的过程的一部分,源设备102可以生成点云并且对点云进行编码,例如用于自主导航、碰撞取证和其它目的。
目的地设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等等)接收经编码的比特流。经编码的比特流可以包括由G-PCC编码器200定义的信令信息,信令信息还可以由G-PCC解码器300使用,比如具有描述经译码的单元(例如,片段、图像、图像组、序列等等)的特性和处理的值的语法元素。数据消费器118使用经解码的数据。例如,数据消费器118可以使用经解码的数据来确定物理对象的位置。在一些示例中,数据消费器118可以包括基于点云来呈现图像的显示器。例如,数据消费器118可以将点云中的点用作多边形的顶点,并且可以使用点云中的点的颜色属性来对多边形进行着色(shade)。在该示例中,数据消费器118然后可以对多边形进行光栅化,以基于着色的多边形来呈现计算机生成的图像。
G-PCC编码器200和G-PCC解码器300各自可以被实现为各种适当的编码器和/或解码器电路中的任何电路,比如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或者其任意组合。当以软件部分地实现所述技术时,设备可以将用于软件的指令存储在适当的非暂时性计算机可读介质中,并且使用一个或多个处理器执行在硬件中的指令以执行本公开内容的技术。G-PCC编码器200和G-PCC解码器300中的每者可以被包括在一个或多个编码器或解码器中,编码器或解码器中的任何一者可以被整合为在相应设备中的组合的编码器/解码器(CODEC)的一部分。包括G-PCC编码器200和/或G-PCC解码器300的设备可以包括一个或多个集成电路、微处理器和/或其它类型的设备。
G-PCC编码器200和G-PCC解码器300可以根据译码标准(比如视频点云压缩(V-PCC)标准或者几何点云压缩(G-PCC)标准)进行操作。本公开内容通常可以涉及图像的译码(例如,编码和解码),以包括对数据进行编码或解码的过程。经编码的比特流通常包括用于表示译码决策(例如,译码模式)的语法元素的一系列值。
本公开内容通常可以涉及“用信号通知”某些信息,比如语法元素。术语“用信号通知”通常可以指代对用于语法元素的值和/或用于对经编码的数据进行解码的其它数据的传送。也就是说,G-PCC编码器200可以在比特流中用信号通知用于语法元素的值。通常,用信号通指代在比特流中生成值。如上文所指出的,源设备102可以基本实时地或者不实时地,将比特流式传输到目的地设备116,比如在将语法元素存储到存储设备112以供目的地设备116稍后检索时,可能发生这种情形。
ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究对具有显著超过当前方法的压缩能力的压缩能力的点云编码技术进行标准化的潜在需求,并且将致力于创建标准。该小组(被称为三维图形小组(3DG))正在合作中共同开展这项探索活动,以评估由其在该领域的专家提出的压缩技术设计方案。
以两种不同的方法将点云压缩活动分类。第一种方法是“视频点云压缩”(V-PCC),V-PCC对3D对象进行分段,并且将段投影在多个2D平面中(其被表示为在2D帧中的“补丁”),所述多个2D平面由传统2D视频编解码器(比如高效视频译码(HEVC)(ITU-T H.265)编解码器)进一步译码。第二种方法是“基于几何的点云压缩”(G-PCC),G-PCC对3D几何(即,在3D空间中的点集合的位置)以及相关联的属性值(对于与3D几何相关联的每个点)直接进行压缩。G-PCC解决在类别1(静态点云)和类别3(动态获取的点云)中的点云的压缩。可在2020年1月、比利时布鲁塞尔的G-PCC DIS,ISO/IEC JTC1/SC29/WG11 w19088(以下简称“w19088”)中获得G-PCC标准的最新草案,以及可在2020年1月、比利时布鲁塞尔的G-PCC编解码器说明v6,ISO/IEC JTC1/SC29/WG11 w19091(以下简称“w19091”)中获得编解码器的描述。
点云包含3D空间中的点集合,并且可以具有与点相关联的属性。属性可以是颜色信息(比如R、G、B或Y、Cb、Cr)或反射率信息或其它属性。点云可以由各种相机或传感器(比如LIDAR传感器和3D扫描仪)来捕获,并且还可以是计算机生成的。点云数据用于各种应用,包括但不限于:建筑(建模)、图形(用于可视化和动画的3D模型)、汽车行业(用于帮助导航的LIDAR传感器)、在手机中、在平板计算机中,以及在其它场景中。
由点云数据占据的3D空间可以被虚拟边界框包围。可以以一定的精度来表示在边界框中的点的位置;因此,一个或多个点的位置可以基于精度来量化。在最小级别,边界框被拆分为体素,体素是由单位立方体表示的最小空间单位。在边界框中的体素可以与零个、一个或多于一个点相关联。边界框可以被拆分成多个立方体/长方体区域,所述区域可以被称为瓦片。每个瓦片可以被译码成一个或多个切片。边界框到切片和瓦片的划分可以是基于在每个划分中的点数,或者是基于其它考虑因素(例如,可以将特定区域译码为瓦片)的。可以使用与在视频编解码器中的拆分决策类似的拆分决策,来进一步划分切片区域。
图2提供G-PCC编码器200的概述。图3提供了G-PCC解码器300的概述。所示模块是逻辑的,并且不一定与在G-PCC编解码器的参考实现方式中的实现代码(即,由ISO/IECMPEG(JTC 1/SC 29/WG 11)研究的TMC13测试模型软件)一一对应。
在G-PCC编码器200和G-PCC解码器300两者中,首先对点云位置进行译码。属性译码取决于经解码的几何。在图2和图3中,灰色阴影模块是通常用于类别1数据的选项。对角交叉阴影线模块是通常用于类别3数据的选项。所有其它模块在类别1和类别3之间是通用的。
对于类别3数据,经压缩的几何通常被表示为从根一直向下到单个体素的叶子级别的八叉树。对于类别1数据,经压缩的几何通常由经修剪的八叉树(即,从根向下到大于体素的块的叶子级别的八叉树)加上近似于在经修剪的八叉树的每个叶子内的表面的模型来表示。用此方式,类别1和类别3数据两者共享八叉树译码机制,而类别1数据可能利用表面模型另外近似在每个叶子内的体素。使用的表面模型是包含每块1-10个三角形的三角测量,从而形成三角汤(triangle soup)。类别1几何编解码器因此被称为Trisoup几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
在八叉树的每个节点处,针对其子节点中的一个或多个子节点(最多八个节点)来用信号通知占用性(当未推断时)。指定多个邻域,邻域包括:(a)与当前八叉树节点共享一个面的节点,(b)与当前八叉树节点共享一个面、边或顶点的节点等等。在每个邻域内,一个节点和/或其子节点的占有性可以用于预测当前节点或其子节点的占用性。对于在八叉树的某些节点中稀疏填充的点,编解码器(例如,如由G-PCC编码器200和G-PCC解码器300实现的)还支持直接译码模式,其中点的3D位置被直接编码。可以用信号通知标志,以指示用信号通知了直接模式。在最低层,与八叉树节点/叶子节点相关联的点的数量也可以被译码。
一旦几何被译码,与几何点相对应的属性就被译码。当存在与一个经重构/经解码的几何点相对应的多个属性点时,可以导出表示经重构的点的属性值。
在G-PCC中存在三种属性译码方法:区域自适应分层变换(RAHT)译码、基于插值的分层最近邻域预测(预测变换)、以及具有更新/提升(lifting)步骤的基于插值的分层最近邻域预测(提升变换)。RAHT和提升通常用于类别1数据,而预测通常用于类别3数据。然而,任一方法可以用于任何数据,并且与在G-PCC中的几何编解码器类似,在比特流中指定用于对点云进行译码的属性译码方法。
可以以细节级别(LoD)进行属性的译码,其中对于每个细节级别,可以获得对点云属性的较精细表示。可以基于与相邻节点的距离度量或者基于采样距离,来指定每个细节级别。
在G-PCC编码器200处,对作为针对属性的译码方法的输出来获得的残差进行量化。经量化的残差可以使用上下文自适应算术译码进行译码。
在图2的示例中,G-PCC编码器200可以包括坐标变换单元202、颜色变换单元204、体素化单元206、属性传递单元208、八叉树分析单元210、表面近似分析单元212、算术编码单元214、几何重构单元216、RAHT单元218、LOD生成单元220、提升单元222、系数量化单元224和算术编码单元226。
如在图2的示例中所示出的,G-PCC编码器200可以接收点云的点的位置集合和属性集合。G-PCC编码器200可以从数据源104(图1)获得点云的点的位置集合和属性集合。位置可以包括点云的点的坐标。属性可以包括关于点云的点的信息,比如与点云的点相关联的颜色。G-PCC编码器200可以生成几何比特流203,几何比特流203包括点云的点的位置的编码表示。G-PCC编码器200还可以生成属性比特流205,属性比特流205包括属性集合的编码表示。
坐标变换单元202可以对点的坐标应用变换,以将坐标从初始域变换到变换域。本公开内容可以将经变换的坐标称为变换坐标。颜色变换单元204可以应用变换,以便将属性的颜色信息变换到不同的域。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。
此外,在图2的示例中,体素化单元206可以对变换坐标进行体素化。变换坐标的体素化可以包括:量化和去除点云的一些点。换句话说,点云的多个点可以被归入在单个“体素”中,此后单个“体素”可以在某些方面中被视为一个点。此外,八叉树分析单元210可以基于体素化的变换坐标,来生成八叉树。另外,在图2的示例中,表面近似分析单元212可以对点进行分析,以潜在地确定点集合的表面表示。算术编码单元214可以对表示由表面近似分析单元212所确定的八叉树和/或表面的信息的语法元素进行熵编码。G-PCC编码器200可以在几何比特流203中输出这些语法元素。几何比特流203还可以包括其它语法元素,包括未进行算术编码的语法元素。
几何重构单元216可以基于八叉树、指示由表面近似分析单元212所确定的表面的数据、和/或其它信息,来重构点云的点的变换坐标。由于体素化和表面近似,由几何重构单元216重构的变换坐标的数量可能不同于点云的点的原始数量。本公开内容可以将所获得的点称为经重构的点。属性传递单元208可以将点云的原始点的属性传递到点云的经重构的点。
此外,RAHT单元218可以将RAHT译码应用于经重构的点的属性。替代地或另外地,LOD生成单元220和提升单元222可以分别对经重构的点的属性应用LOD处理和提升。RAHT单元218和提升单元222可以基于属性来生成系数。系数量化单元224可以对由RAHT单元218或提升单元222所生成的系数进行量化。算术编码单元226可以对表示经量化的系数的语法元素应用算术译码。G-PCC编码器200可以在属性比特流205中输出这些语法元素。属性比特流205还可以包括其它语法元素,包括未进行算术编码的语法元素。
如将在下面更详细解释的,G-PCC编码器200是被配置为执行本公开内容的量化和/或缩放技术的设备的示例。在一个示例中,G-PCC编码器200可以被配置为:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
在图3的示例中,G-PCC解码器300可以包括几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、LOD生成单元316、逆提升单元318、逆变换坐标单元320和逆变换颜色单元322。
G-PCC解码器300可以获得几何比特流203和属性比特流205。解码器300的几何算术解码单元302可以对在几何比特流中的语法元素应用算术解码(例如,上下文自适应二进制算术译码(CABAC)或其它类型的算术解码)。类似地,属性算术解码单元304可以对在属性比特流中的语法元素应用算术解码。
八叉树合成单元306可以基于从几何比特流解析的语法元素,来合成八叉树。在几何比特流中使用表面近似的情况下,表面近似合成单元310可以基于从几何比特流解析的语法元素并且基于八叉树,来确定表面模型。
此外,几何重构单元312可以执行重构以确定点云的点的坐标。逆变换坐标单元320可以对经重构的坐标应用逆变换,以将点云的点的经重构的坐标(位置)从变换域变换到初始域。
此外,在图3的示例中,逆量化单元308可以对属性值进行逆量化。属性值可以是基于从属性比特流中获得的语法元素(例如,包括由属性算术解码单元304解码的语法元素)的。
根据属性值是如何编码的,RAHT单元314可以执行RAHT译码,以基于逆量化的属性值来确定针对点云的点的颜色值。或者,LOD生成单元316和逆提升单元318可以使用基于细节级别的技术,来确定针对点云的点的颜色值。
此外,在图3的示例中,逆变换颜色单元322可以对颜色值应用逆颜色变换。逆颜色变换可以是由编码器200的颜色变换单元204所应用的颜色变换的逆。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。相应地,逆颜色变换单元322可以将颜色信息从YCbCr颜色空间变换到RGB颜色空间。
如将在下面更详细解释的,G-PCC解码器300是被配置为执行本公开内容的量化和/或缩放技术的设备的示例。在一个示例中,G-PCC解码器300可以被配置为:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
示出图2和图3的各个单元以帮助理解由编码器200和解码器300执行的操作。所述单元可以实现为固定功能电路、可编程电路或者其组合。固定功能电路指代提供特定功能并且在可以执行的操作上预先设置的电路。可编程电路指代可以被编程为执行各种任务并且在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,软件或固件使得可编程电路以由软件或固件的指令所定义的方式进行操作。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,所述单元中的一个或多个单元可以是不同的电路块(固定功能或可编程),并且在一些示例中,所述单元中的一个或多个单元可以是集成电路。
预测几何译码
预测几何译码是作为八叉树几何译码的替代方案引入的,其中在树结构(其定义预测结构)中排列节点,并且使用各种预测策略来预测在树中的每个节点关于相对于其预测器的坐标。图4是示出被描绘为定向图的预测树的示例的概念图,其中,箭头指向预测方向。节点400是根顶点并且没有预测器;节点406具有两个子节点;节点404具有3个子节点,节点408具有1个子节点,以及节点402是叶子节点,并且这些叶子节点没有子节点。每个节点只具有一个父节点。
在一个示例中,基于每个节点的父节点(p0)、祖父节点(p1)和曾祖父节点(p2),针对每个节点指定四种预测策略:
-无预测
-差量(Delta)预测(p0)
-线性预测(2*p0-p1)
-平行四边形预测(2*p0+p1-p2)
G-PCC编码器200可以采用任何算法来生成预测树。G-PCC编码器200可以基于应用/用例来确定算法,并且可以使用若干策略。对于每个节点,G-PCC编码器200以深度优先的方式从根节点开始,将残差坐标值编码在比特流中。预测几何译码主要用于类别3(例如,LIDAR获取的)点云数据,例如用于低延迟应用。
非规范量化和缩放
在一些示例中,可以以浮点格式或者以非常高的位深度来表示原始点云。以特定比特深度对输入点云进行量化和体素化,通过在图2中的G-PCC编码器200的体素化单元206来表示。为了体素化的目的,可以在体素化单元206中,在G-PCC编码器200处应用量化,并且可以在G-PCC解码器300处执行缩放,主要用于将经解码的点云(即,在体素单位中)映射在特定于应用的物理空间(即,物理维度)中。使用语法元素sps_source_scale_factor_numerator_minus1和sps_source_scale_factor_denominator_minus1,用信号通知可以由G-PCC解码器300用于该操作的缩放值。
作为预处理步骤(在编码之前)的量化过程和作为后处理步骤(在解码之后)的缩放过程不影响整个译码过程。也就是说,量化和缩放在本质上是非规范的。译码过程之外的这种操作大致类似于空间下采样到较低空间分辨率以进行压缩,然后在使用传统2D视频帧进行显示之前进行上采样。在这种传统的2D视频情况下,下采样和上采样是非规范的,并且不会影响译码过程。在下表中显示指示用信号通知的缩放因子分子(sps_source_scale_factor_numerator_minus1)和分母(sps_source_scale_factor_denominator_minus1)的语法元素。
sps_source_scale_factor_numerator_minus1 | ue(v) |
sps_source_scale_factor_denominator_minus1 | ue(v) |
针对在G-PCC中的预测几何的规范量化
在编解码器内对几何坐标/位置的量化/缩放,或者几何缩放(因为其在G-PCC中被提及),是通过在几何参数集(GPS)中的标志和量化参数(QP)值来控制的。可以在多个级别中指定/修改QP值。下面描述在GPS中与几何缩放相关联的语法元素。
几何参数集(GPS)
这里,geom_base_qp用于导出适用于所有参考GPS的点的基础QP值。QP乘数geom_qp_multiplier(1<<geom_qp_multiplier_log2)用于乘以所有QP值。例如,如果将base_qp设置为1,并且geom_qp_multiplier_log2为2,则使用的实际QP值为1*(1<<2)=4。实际上,geom_qp_multiplier表现得像用于QP的缩放因子,并且确定QP值的最小变化。也用信号通知切片QP差量,QP差量在应用之前也乘以QP乘数。在八叉树译码中,在特定八叉树深度用信号通知节点QP偏移,并且QP乘数也应用于该节点QP偏移。
对于预测几何,G-PCC编码器200用信号通知间隔,以指示在预测几何树中用信号通知QP偏移的频率。除了语法元素geom_qp_offset_intvl_log2之外,G-PCC编码器200在几何切片报头中用信号通知另一语法元素geom_qp_offset_intvl_log2_delta,以更新在预测树中以其用信号通知QP偏移的间隔。对于每N个节点,其中N=geom_qp_offset_intvl_log2+geom_qp_offset_intvl_log2_delta,G-PCC编码器200在预测几何树中用信号通知QP偏移。G-PCC解码器300可以按照下面等式来确定用于预测几何的最终QP值:
qpFinal=(base_qp+slice_qp)<<geom_qp_multiplier_log2+node_qp_offset
因此,用信号通知的值node_qp_offset与应用于节点的节点QP偏移相同。
注意,最终QP值(qpFinal)是利用在空间域中(而不是像视频压缩那样在变换域中)应用的量化过程获得的。因此,在点云压缩中,基于点云的大小和密度,在经解码的点云中,几何的量化可能更加明显。
G-PCC编码器200和G-PCC解码器300可以使用最终QP值(例如,qpFinal)来导出由几何缩放过程所使用的步长。几何缩放过程是按照下文所述的来定义的:
该过程的输入为:
-表示未缩放的位置分量值的变量val,
-指定位置分量索引的变量cIdx,
-指定量化参数的变量qP。
该过程的输出是经缩放的位置分量值pos。
(注意)当geom_scaling_enabled_flag等于0时,该过程的输出等于输入值pos。
将变量scalingExpansionLog2设置为等于qP/8。
表示未缩放位置分量值的串接的部分的变量highPart和lowPart,是按照下面等式导出的:
highPart=val>>(ScalingNodeSizeLog2[cIdx]-scalingExpansionLog2)
lowPart=val&((1<<(ScalingNodeSizeLog2[cIdx]-scalingExpansionLog2))-1)
缩放因子sF是按照下面等式导出的:
sF=8+(qP&7)<<qP/8
输出变量pos是按照下面等式导出的:
highPartS=highPart<<ScalingNodeSizeLog2[cIdx]
lowPartS=(lowPart×sF+4)>>3
pos=highPartS|Min(lowPartS,(1<<ScalingNodeSizeLog2[cIdx])-1)
对于八叉树几何译码,包括上文所描述的几何的规范量化,QP乘数应用于所有QP值(包括用信号通知的任何节点QP偏移)。节点QP乘数不应用于在预测树中用信号通知的用信号通知的节点QP偏移(例如,node_qp偏移)。在一些情况下,节点QP偏移可以是较大的数,对于node_qp_offset语法元素,这可能需要较大数量的比特来用信号通知。因此,大值的节点QP偏移,信令开销可能会增加。
鉴于这些缺点,本公开内容描述用于以减少信令开销并因此提高译码效率的方式,用信号通知节点QP偏移并且确定最终QP值的技术。本文中所描述的技术可以独立地实现或者与一种或多种其它技术结合实现。术语步长、缩放值、缩放步长均指代相同的值:在G-PCC解码器300处使用的缩放值。
在本公开内容的一个示例中,G-PCC编码器200和G-PCC解码器300可以被配置为:确定用于导出步长的、包括乘以QP乘数的节点QP偏移的QP值(例如,最终QP值)。作为一个示例,G-PCC解码器300可以被配置为使用以下等式来确定最终QP值(qpFinal):qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)。
在一些示例中,G-PCC编码器200也可以被配置为使用以下等式来确定最终QP值(qpFinal):qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)。例如,G-PCC编码器200可以在重构循环中使用该等式。然而,在其它示例中,G-PCC编码器200可以首先确定最终QP值,以及然后确定节点QP偏移的值,以便确定要用信号通知的用于node_qp_offset和geom_qp_multiplier_log2的值。在该示例中,G-PCC编码器将确定node_qp_offset和geom_qp_multiplier_log2的值,使得已经确定的最终QP值以及base_qp和slice_qp满足等式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)。
在上面等式中,基础QP(base_qp)和切片QP(slice_qp)相加,并且然后左移(例如,乘以根据geom_qp_multiplier_log2导出的几何QP乘数的值)。然后,将所得到的值加到左移了(例如,乘以了)几何QP乘数(根据geom_qp_multiplier_log2导出)的节点QP偏移(node_qp_offset)。除了节点QP偏移乘以了几何QP乘数之外,该等式与上文所描述的等式(即,qpFinal=(base_qp+slice_qp)<<geom_qp_multiplier_log2+node_qp_offset)相同。这样的技术可以减少用信号通知节点QP偏移所需要的比特数。
例如,如果期望的节点QP偏移是20,则G-PCC编码器200将利用等于值20的数个比特来用信号通知node_qp_offset语法元素。然而,使用本公开内容的技术,G-PCC编码器200可以用较少数量的比特来用信号通知node_qp_offset语法元素,因为节点QP偏移乘以几何QP乘数。例如,对于某些点云,如果QP仅采用4的倍数的值,则例如用信号通知20的node_qp_offset将消耗一定数量的比特。然而,如果G-PCC解码器300使用几何QP乘数,如上文所描述的,则仅需要用信号发送值5(20>>geom_qp_multiplier_log2=20>>2=5),这将消耗较少的比特。这里,几何QP乘数将为4,并且geom_qp_multiplier_log2将为2,因为geom_qp_multiplier_log2是作为最终几何乘数值的log2来用信号通知的。
相应地,在本公开内容的一个示例中,G-PCC编码器200可以通过将几何QP乘数应用于节点QP偏移以确定最终节点QP偏移项,来确定用于对点云的几何进行编码的最终QP值(例如,最终节点QP偏移项是node_qp_offset<<geom_qp_multiplier_log2)。在一个示例中,G-PCC编码器200可以根据等式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)来确定最终QP值(qpFinal)。
G-PCC编码器200可以对指示节点QP偏移(node_qp_offset)和几何QP乘数(geom_qp_multiplier_log2)的语法元素进行编码和用信号通知,使得用信号通知的乘以几何QP乘数的节点QP偏移等于期望的节点QP偏移项。
以相反的方式,G-PCC解码器300可以接收用于节点QP偏移(node_qp_offset)和几何QP乘数(geom_qp_multiplier_log2)的语法元素,并且进行解码。然后,G-PCC解码器可以根据节点QP偏移(例如,node_qp_offset)乘以几何QP乘数(geom_qp_multiplier_log2),来确定最终QP值。在一个示例中,G-PCC解码器300可以根据等式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),来确定最终QP值(qpFinal)。然后,G-PCC解码器300可以使用上文所描述的一种或多种译码技术,使用最终QP值来执行点云的几何的规范量化。
在另一示例中,G-PCC编码器200和G-PCC解码器300可以根据(导出的最终QP的)node_qp_offset应该是(1<<geom_qp_multiplier_log2)的倍数的约束进行操作。这样的约束可以是预先确定的,或者可能是在比特流中用信号通知的。
在另一示例中,导出的最终QP值可以舍入到(1<<geom_qp_multiplier_log2)的倍数。
图5是示出本公开内容的示例编码技术的流程图。G-PCC编码器200的一个或多个结构组件可以被配置为执行图5的技术。
在一个示例中,G-PCC编码器200可以被配置为接收点云数据(500),并且根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值(510)。然后,G-PCC编码器200可以使用最终QP值,对点云数据进行编码以创建经编码的点云(520)。
在本公开内容的一个示例中,G-PCC编码器200可以对指示节点QP偏移的节点QP偏移语法元素进行编码,并且对指示几何QP乘数的几何QP乘数语法元素进行编码。
在本公开内容的另一示例中,G-PCC编码器200可以根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offse为用信号通知的节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
在一个示例中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
在本公开内容的另一示例中,G-PCC编码器200可以将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
图6是示出本公开内容的示例解码技术的流程图。G-PCC解码器300的一个或多个结构组件可以被配置为执行图6的技术。
在本公开内容的一个示例中,G-PCC解码器300可以被配置为接收经编码的点云数据(600),并且根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值(610)。G-PCC解码器300可以还被配置为使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云(620)。
在一个示例中,G-PCC解码器300可以还被配置为对节点QP偏移语法元素进行解码以确定节点QP偏移,并且对几何QP乘数语法元素进行解码以确定几何QP乘数。
在另一示例中,G-PCC解码器300可以还被配置为根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offse为用信号通知的节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
在一个示例中,用信号通知的或者导出的节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
在另一示例中,G-PCC解码器300可以还被配置为将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
图7是示出可以与本公开内容的一种或多种技术一起使用的示例测距系统900的概念图。在图7的示例中,测距系统900包括照明器902和传感器904。照明器902可以发射光906。在一些示例中,照明器902可以将光906发射成一个或多个激光波束。光906可以具有一种或多种波长,比如红外波长或可见光波长。在其它示例中,光906不是相干激光。当光906遇到物体(比如物体908)时,光906产生返回光910。返回光910可以包括反向散射的和/或反射的光。返回光910可以穿过透镜911,透镜911引导返回光910以在传感器904上创建对象908的图像912。传感器904基于图像912来生成信号914。图像912可以包括点的集合(例如,如通过在图7的图像912中的点所表示的)。
在一些示例中,可以将照明器902和传感器904安装在旋转结构上,使得照明器902和传感器904捕获环境的360度视图。在其它示例中,测距系统900可以包括一个或多个光学组件(例如,镜子、准直器、衍射光栅等),所述光学组件使得照明器902和传感器904能够检测在特定范围(例如,高达360度)内的物体。虽然图7的示例仅示出单个照明器902和传感器904,但测距系统900可以包括多组照明器和传感器。
在一些示例中,照明器902产生结构化光图型。在这样的示例中,测距系统900可以包括多个传感器904,在多个传感器904上形成结构化光图型的相应图像。测距系统900可以使用在结构化光图型的图像之间的差异,来确定与结构化光图型从其反向散射的物体908的距离。当物体908相对靠近传感器904(例如,0.2米至2米)时,基于结构化光的测距系统可以具有高水平的准确度(例如,亚毫米范围内的准确度)。这种高水平的准确度在面部识别应用(比如解锁移动设备(例如,移动电话、平板计算机等等))中以及对于安全应用可能是有用的。
在一些示例中,测距系统900是基于飞行时间(ToF)的系统。在测距系统900是基于ToF的系统的一些示例中,照明器902生成光脉冲。换言之,照明器902可以对所发射的光906的幅度进行调制。在这样的示例中,传感器904检测来自由照明器902生成的光906的脉冲的返回光910。然后,测距系统900可以基于发射和检测光906的时间之间的延迟以及光在空中的已知速度,来确定到光906从其反向散射的物体908的距离。在一些示例中,不是对所发射的光906的幅度进行调制(或者除此之外),照明器902可以调制所发射的光906的相位。在这样的示例中,传感器904可以检测来自物体908的返回光910的相位,并且使用光速并且基于在照明器902以特定相位生成光906的时间与传感器904以特定相位检测返回光910的时间之间的时间差,来确定到在物体908上的点的距离。
在其它示例中,可以在不使用照明器902的情况下生成点云。例如,在一些示例中,测距系统900的传感器904可以包括两个或更多个光学相机。在这样的示例中,测距系统900可以使用光学相机来捕捉包括物体908的环境的立体图像。然后,测距系统900(例如,点云生成器920)可以计算在立体图像中的位置之间的差异。然后,测距系统900可以使用该差异,来确定到在立体图像中示出的位置的距离。根据这些距离,点云生成器920可以生成点云。
传感器904还可以检测物体908的其它属性,比如颜色和反射率信息。在图7的示例中,点云生成器920可以基于由传感器904生成的信号918来生成点云。测距系统900和/或点云生成器920可以形成数据源104(图1)的一部分。本公开内容的用于导出最终QP值的技术,可以导致需要较少的比特来使用图7的系统对点云进行编码。
图8是示出可以在其中使用本公开内容的一种或多种技术的示例基于车辆的场景的概念图。在图8的示例中,车辆1000包括激光包1002(比如LIDAR系统)。虽然没有在图8的示例中示出,但车辆1000还可以包括数据源(比如数据源104(图1))和G-PCC编码器(比如G-PCC编码器200(图1))。在图8的示例中,激光包1002发射激光波束1004,该激光波束1004从行人1006或在道路中的其它物体反射。车辆1000的数据源可以基于由激光包1002所生成的信号来生成点云。车辆1000的G-PCC编码器可以对点云进行编码,以生成比特流1008,比如几何比特流203(图2)和属性比特流205(图2)。比特流1008可以包括比由G-PCC编码器所获得的未编码的点云少得多的比特。车辆1000的输出接口(例如,输出接口108(图1))可以向一个或多个其它设备发送比特流1008。因此,与未编码的点云数据相比,车辆1000可以更快地向其它设备发送比特流1008。另外,比特流1008可能需要较少的数据存储容量。
在图8的示例中,车辆1000可以向另一车辆1010发送比特流1008。车辆1010可以包括G-PCC解码器(比如G-PCC解码器300(图1))。车辆1010的G-PCC解码器可以对比特流1008进行解码以重构点云。车辆1010可以将经重构的点云用于各种目的。例如,车辆1010可以基于经重构的点云,确定行人1006在车辆1000前方的道路中并且因此开始减速,例如,甚至在车辆1010的驾驶员意识到行人1006在道路中之前。因此,在一些示例中,车辆1010可以基于经重构的点云,来执行自主导航操作,生成通知或警告,或者执行另一动作。
另外地或替代地,车辆1000可以向服务器系统1012发送比特流1008。服务器系统1012可以将比特流1008用于各种目的。例如,服务器系统1012可以存储比特流1008,以用于点云的后续重构。在该示例中,服务器系统1012可以将点云与其它数据(例如,车辆1000生成的车辆遥测数据)一起使用,以训练自主驾驶系统。在其它示例中,服务器系统1012可以存储比特流1008,以用于针对司法事故调查的后续重构(例如,如果车辆1000与行人1006碰撞的话)。本公开内容的用于导出最终QP值的技术,可以导致需要更少的比特来对使用图8的系统的点云进行编码。
图9是示出可以在其中使用本公开内容的一种或多种技术的示例扩展现实系统的概念图。扩展现实(XR)是用于涵盖一系列技术的术语,所述技术包括增强现实(AR)、混合现实(MR)和虚拟现实(VR)。在图9的示例中,第一用户1100位于第一位置1102。用户1100佩戴XR耳机1104。作为XR耳机1104的替代,用户1100可以使用移动设备(例如,移动电话、平板计算机等)。XR耳机1104包括深度检测传感器(比如LIDAR系统),LIDAR系统检测在位置1102处的物体1106上的点的位置。XR耳机1104的数据源可以使用由深度检测传感器所生成的信号,来生成在位置1102处的物体1106的点云表示。XR耳机1104可以包括G-PCC编码器(例如,图1的G-PCC编码器200),G-PCC编码器被配置为对点云进行编码以生成比特流1108。
XR耳机1104可以将比特流1108发送给由在第二位置1114处的用户1112所佩戴的XR耳机1110(例如,经由比如互联网之类的网络)。XR耳机1110可以对比特流1108进行解码以重构点云。XR耳机1110可以使用点云,来生成表示在位置1102处的对象1106的XR可视化(例如,AR、MR、VR可视化)。因此,在一些示例中,比如当XR耳机1110生成VR可视化时,在位置1114处的用户1112可以具有位置1102的3D沉浸式体验。在一些示例中,XR耳机1110可以基于经重构的点云,确定虚拟对象的位置。例如,XR耳机1110可以基于经重构的点云,确定环境(例如,位置1102)包括平坦表面,并且接着确定虚拟对象(例如,卡通人物)要被放置在平坦表面上。XR耳机1110可以生成XR可视化,其中虚拟对象处于所确定的位置。例如,XR耳机1110可以显示坐在平坦表面上的卡通人物。本公开内容的用于导出最终QP值的技术,可以导致需要更少的比特来对使用图9的系统的点云进行编码。
图10是示出可以在其中使用本公开内容的一种或多种技术的示例移动设备系统的概念图。在图10的示例中,移动设备1200(比如移动电话或平板计算机)包括深度检测传感器(比如LIDAR系统),深度检测传感器检测在移动设备1200的环境中的物体1202上的点的位置。移动设备1200的数据源可以使用由深度检测传感器生成的信号,来生成物体1202的点云表示。移动设备1200可以包括G-PCC编码器(例如,图1的G-PCC编码器200),G-PCC编码器被配置为对点云进行编码以生成比特流1204。在图10的示例中,移动设备1200可以向远程设备1206(比如服务器系统或其它移动设备)发送比特流。远程设备1206可以对比特流1204进行解码以重构点云。远程设备1206可以将点云用于各种目的。例如,远程设备1206可以使用点云来生成移动设备1200的环境地图。例如,远程设备1206可以基于经重构的点云,生成建筑物内部的地图。在另一示例中,远程设备1206可以基于点云来生成图像(例如,计算机图形)。例如,远程设备1206可以使用点云的点作为多边形的顶点,并且使用点的颜色属性作为对多边形进行着色的基础。在一些示例中,远程设备1206可以使用点云来执行面部识别。本公开内容的用于导出最终QP值的技术,可以导致需要更少的比特来对使用图10的系统的点云进行编码。
以下是可以根据本公开内容的一种或多种技术的方面的非限制性列表。
方面1A:一种对点云进行译码的方法,方法包括:接收点云数据;根据节点量化参数(QP)偏移乘以QP乘数,确定针对点云数据的QP值;并且使用QP值,对点云数据进行译码。
方面2A:根据方面1A所述的方法,其中,确定QP值包括根据以下等式来确定QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为QP乘数。
方面3A:根据方面2A所述的方法,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面4A:根据方面2A所述的方法,还包括:将QP值舍入到(1<<geom_qp_multiplier_log2)。
方面5A:一种用于对点云进行处理的设备,设备包括:用于执行方面1A-4A中的任何方面所述的方法的一个或多个单元。
方面6A:根据方面5A所述的设备,其中,一个或多个单元包括利用电路实现的一个或多个处理器。
方面7A:根据方面5A或6A中的任何方面所述的设备,还包括:用于存储表示点云的数据的存储器。
方面8A:根据方面5A-7A中的任何方面所述的设备,其中,设备包括解码器。
方面9A:根据方面5A-8A中的任何方面所述的设备,其中,设备包括编码器。
方面10A:根据方面5A-9A中的任何方面所述的设备,还包括:用于生成点云的设备。
方面11A:根据方面5A-10A中的任何方面所述的设备,还包括:用于基于点云来呈现图像的显示器。
方面12A:一种具有存储其上的指令的计算机可读存储介质,指令在被执行时,使得一个或多个处理器执行方面1A-4A中的任何方面的方法。
方面1B:一种被配置为对点云进行编码的装置,装置包括:存储器,其被配置为存储点云数据;以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
方面2B:根据方面1B所述的装置,其中,一个或多个处理器还被配置为:对指示节点QP偏移的节点QP偏移语法元素进行编码;以及对指示几何QP乘数的几何QP乘数语法元素进行编码。
方面3B:根据方面1B所述的装置,其中,为了确定最终QP值,一个或多个处理器还被配置为:根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面4B:根据方面3B所述的装置,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面5B:根据方面3B所述的装置,其中,一个或多个处理器还被配置为将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面6B:根据方面1B所述的装置,还包括被配置为生成点云数据的传感器。
方面7B:一种对点云进行编码的方法,方法包括:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
方面8B:根据方面7B所述的方法,还包括:对指示节点QP偏移的节点QP偏移语法元素进行编码;并且对指示几何QP乘数的几何QP乘数语法元素进行编码。
方面9B:根据方面7B所述的方法,其中,确定最终QP值包括:根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面10B:根据方面9B所述的方法,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面11B:根据方面9B所述的方法,还包括:将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面12B:根据方面7B所述的方法,还包括:生成点云数据。
方面13B:一种存储指令的非暂时性计算机可读存储介质,指令在被执行时使得被配置为对点云进行编码的设备的一个或多个处理器执行以下操作:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
方面14B:一种被配置为对点云进行编码的装置,装置包括:用于接收点云数据的单元;用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值的单元;以及用于使用最终QP值,对点云数据进行编码以创建经编码的点云的单元。
方面15B:一种被配置为对点云进行解码的装置,装置包括:存储器,其被配置为存储经编码的点云数据;以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
方面16B:根据方面15B所述的装置,其中,一个或多个处理器还被配置为:对节点QP偏移语法元素进行解码以确定节点QP偏移;以及对几何QP乘数语法元素进行解码以确定几何QP乘数。
方面17B:根据方面15B所述的装置,其中,为了确定最终QP值,一个或多个处理器还被配置为根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面18B:根据方面17B所述的装置,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面19B:根据方面17B所述的装置,其中,一个或多个处理器还被配置为将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面20B:根据方面15B所述的装置,还包括被配置为显示经解码的点云的显示器。
方面21B:一种对点云进行解码的方法,方法包括:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
方面22B:根据方面21B所述的方法,还包括:对节点QP偏移语法元素进行解码以确定节点QP偏移;以及对几何QP乘数语法元素进行解码以确定几何QP乘数。
方面23B:根据方面21B所述的方法,其中,确定最终QP值包括:根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面24B:根据方面23B所述的方法,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面25B:根据方面23B所述的方法,还包括:将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面26B:根据方面21B所述的方法,还包括:显示经解码的点云。
方面27B:一种存储指令的非暂时性计算机可读存储介质,指令在被执行时使得被配置为对点云进行解码的设备的一个或多个处理器执行以下操作:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
方面28B:一种被配置为对点云进行编码的装置,装置包括:用于接收经编码的点云数据的单元;用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值的单元;以及用于使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云的单元。
方面1C:一种被配置为对点云进行编码的装置,装置包括:存储器,其被配置为存储点云数据;以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
方面2C:根据方面1C所述的装置,其中,一个或多个处理器还被配置为:对指示节点QP偏移的节点QP偏移语法元素进行编码;以及对指示几何QP乘数的几何QP乘数语法元素进行编码。
方面3C:根据方面1C-2C中的任何方面所述的装置,其中,为了确定最终QP值,一个或多个处理器还被配置为:根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面4C:根据方面3C所述的装置,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面5C:根据方面3C所述的装置,其中,一个或多个处理器还被配置为将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面6C:根据方面1C-5C中的任何方面所述的装置,还包括被配置为生成点云数据的传感器。
方面7C:一种对点云进行编码的方法,方法包括:接收点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对点云数据进行编码以创建经编码的点云。
方面8C:根据方面7C所述的方法,还包括:对指示节点QP偏移的节点QP偏移语法元素进行编码;以及对指示几何QP乘数的几何QP乘数语法元素进行编码。
方面9C:根据方面7C-8C中的任何方面所述的方法,其中,确定最终QP值包括根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面10C:根据方面9C所述的方法,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面11C:根据方面9C所述的方法,还包括:将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面12C:根据方面7C-11C中的任何方面所述的方法,还包括:生成点云数据。
方面13C:一种被配置为对点云进行解码的装置,装置包括:存储器,其被配置为存储经编码的点云数据;以及利用电路来实现并且与存储器相通信的一个或多个处理器,一个或多个处理器被配置为:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
方面14C:根据方面13C所述的装置,其中,一个或多个处理器还被配置为:对节点QP偏移语法元素进行解码以确定节点QP偏移;以及对几何QP乘数语法元素进行解码以确定几何QP乘数。
方面15C:根据方面13C-14C中的任何方面所述的装置,其中,为了确定最终QP值,一个或多个处理器还被配置为根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面16C:根据方面15C所述的装置,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面17C:根据方面15C所述的装置,其中,一个或多个处理器还被配置为将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面18C:根据方面13C-17C中的任何方面所述的装置,还包括被配置为显示经解码的点云的显示器。
方面19C:一种对点云进行解码的方法,方法包括:接收经编码的点云数据;根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对点云数据的最终QP值;以及使用最终QP值,对经编码的点云数据进行解码以创建经解码的点云。
方面20C:根据方面19C所述的方法,还包括:对节点QP偏移语法元素进行解码以确定节点QP偏移;以及对几何QP乘数语法元素进行解码以确定几何QP乘数。
方面21C:根据方面19C-20C中的任何方面所述的方法,其中,确定最终QP值包括根据以下等式来确定最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为节点QP偏移,以及geom_qp_multiplier_log2为几何QP乘数。
方面22C:根据方面21C所述的方法,其中,节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
方面23C:根据方面21C所述的方法,还包括:将最终QP值舍入到(1<<geom_qp_multiplier_log2)。
方面24C:根据方面19C-23C中的任何方面所述的方法,还包括:显示经解码的点云。
在本公开内容的各个方面中的示例可以单独地使用或者以任何组合的方式使用。
要认识到,根据示例,本文中所描述的技术中的任何技术的某些动作或事件可以以不同的顺序执行,可以进行添加、合并或者完全省略(例如,并非所有所描述的动作或事件对于技术的实践都是必需的)。此外,在某些示例中,可以例如通过多线程处理、中断处理或多个处理器并发地而不是顺序地执行动作或事件。
在一个或多个示例中,所描述的功能可以利用硬件、软件、固件或者其任意组合来实现。当利用软件实现时,所述功能可以作为一个或多个指令或代码在计算机可读介质上存储或者通过计算机可读介质来传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质,计算机可读存储介质对应于有形介质,比如数据存储介质或通信介质,通信介质包括促进例如根据通信协议将计算机程序从一个地方传送到另一地方的任何介质。用此方式,计算机可读介质通常可以对应于:(1)非暂时性的有形计算机可读存储介质;或者(2)比如信号或载波波形之类的通信介质。数据存储介质可以是可以由一个或多个计算机或者一个或多个处理器访问以取回用于实现在本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
通过示例限制而非限制的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储或其它磁存储设备、闪存或者可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机访问的任何其它介质。此外,任何连接被适当地称作计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字用户线路(DSL)或者比如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者比如红外线、无线电和微波之类的无线技术被包括在介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波波形、信号或者其它临时介质,而是替代地针对非暂时性的有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘CD、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的范围内。
指令可以由一个或多个处理器来执行,比如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它等同的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”和“处理电路”可以指代前述的结构中的任何结构或者适合于实现本文中所描述的技术的任何其它结构。此外,在一些方面,本文中所描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者被并入组合的编解码器中。此外,所述技术可以在一个或多个电路或逻辑元件中完全实现。
本公开内容的技术可以在多种多样的设备或装置中实现,包括无线手持装置、集成电路(IC)或者一组IC(例如,芯片集)。在本公开内容中描述各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但不一定要求由不同的硬件单元来实现。确切地说,如上文所描述的,各个单元可以被组合在编解码器硬件单元中,或者通过可互操作的硬件单元的集合(包括如上文所描述的一个或多个处理器)结合适当的软件和/或固件来提供。
已经描述各个示例。这些示例和其它示例在所附权利要求的保护范围内。
Claims (28)
1.一种被配置为对点云进行解码的装置,所述装置包括:
存储器,其被配置为存储经编码的点云数据;以及
利用电路来实现并且与所述存储器相通信的一个或多个处理器,所述一个或多个处理器被配置为:
接收所述经编码的点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述经编码的点云数据进行解码以创建经解码的点云。
2.根据权利要求1所述的装置,其中,所述一个或多个处理器还被配置为:
对节点QP偏移语法元素进行解码以确定所述节点QP偏移;以及
对几何QP乘数语法元素进行解码以确定所述几何QP乘数。
3.根据权利要求1所述的装置,其中,为了确定所述最终QP值,所述一个或多个处理器还被配置为:根据以下等式来确定所述最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为所述最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为所述节点QP偏移,以及geom_qp_multiplier_log2为所述几何QP乘数。
4.根据权利要求3所述的装置,其中,所述节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
5.根据权利要求3所述的装置,其中,所述一个或多个处理器还被配置为将所述最终QP值舍入到(1<<geom_qp_multiplier_log2)。
6.根据权利要求1所述的装置,还包括被配置为显示所述经解码的点云的显示器。
7.一种被配置为对点云进行编码的装置,所述装置包括:
存储器,其被配置为存储点云数据;以及
利用电路来实现并且与所述存储器相通信的一个或多个处理器,所述一个或多个处理器被配置为:
接收所述点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述点云数据进行编码以创建经编码的点云。
8.根据权利要求7所述的装置,其中,所述一个或多个处理器还被配置为:
对指示所述节点QP偏移的节点QP偏移语法元素进行编码;以及
对指示所述几何QP乘数的几何QP乘数语法元素进行编码。
9.根据权利要求7所述的装置,其中,为了确定所述最终QP值,所述一个或多个处理器还被配置为:根据以下等式来确定所述最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为所述最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为所述节点QP偏移,以及geom_qp_multiplier_log2为所述几何QP乘数。
10.根据权利要求9所述的装置,其中,所述节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
11.根据权利要求9所述的装置,其中,所述一个或多个处理器还被配置为将所述最终QP值舍入到(1<<geom_qp_multiplier_log2)。
12.根据权利要求7所述的装置,还包括被配置为生成所述点云数据的传感器。
13.一种对点云进行解码的方法,所述方法包括:
接收经编码的点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述经编码的点云数据进行解码以创建经解码的点云。
14.根据权利要求13所述的方法,还包括:
对节点QP偏移语法元素进行解码以确定所述节点QP偏移;以及
对几何QP乘数语法元素进行解码以确定所述几何QP乘数。
15.根据权利要求13所述的方法,其中,确定所述最终QP值包括:根据以下等式来确定所述最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为所述最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为所述节点QP偏移,以及geom_qp_multiplier_log2为所述几何QP乘数。
16.根据权利要求15所述的方法,其中,所述节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
17.根据权利要求15所述的方法,还包括:
将所述最终QP值舍入到(1<<geom_qp_multiplier_log2)。
18.根据权利要求13所述的方法,还包括:
显示所述经解码的点云。
19.一种对点云进行编码的方法,所述方法包括:
接收点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述点云数据进行编码以创建经编码的点云。
20.根据权利要求19所述的方法,还包括:
对指示所述节点QP偏移的节点QP偏移语法元素进行编码;以及
对指示所述几何QP乘数的几何QP乘数语法元素进行编码。
21.根据权利要求19所述的方法,其中,确定所述最终QP值包括:根据以下等式来确定所述最终QP值:qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2),其中,qpFinal为所述最终QP值,base_qp为基础QP值,slice_qp为切片QP值,node_qp_offset为所述节点QP偏移,以及geom_qp_multiplier_log2为所述几何QP乘数。
22.根据权利要求21所述的方法,其中,所述节点QP偏移是(1<<geom_qp_multiplier_log2)的倍数。
23.根据权利要求21所述的方法,还包括:
将所述最终QP值舍入到(1<<geom_qp_multiplier_log2)。
24.根据权利要求19所述的方法,还包括:
生成所述点云数据。
25.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得被配置为对点云进行编码的设备的一个或多个处理器执行以下操作:
接收点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述点云数据进行编码以创建经编码的点云。
26.一种被配置为对点云进行编码的装置,所述装置包括:
用于接收点云数据的单元;
用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值的单元;以及
用于使用所述最终QP值,对所述点云数据进行编码以创建经编码的点云的单元。
27.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得被配置为对点云进行解码的设备的一个或多个处理器执行以下操作:
接收经编码的点云数据;
根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值;以及
使用所述最终QP值,对所述经编码的点云数据进行解码以创建经解码的点云。
28.一种被配置为对点云进行解码的装置,所述装置包括:
用于接收经编码的点云数据的单元;
用于根据节点量化参数(QP)偏移乘以几何QP乘数,确定针对所述点云数据的最终QP值的单元;以及
用于使用所述最终QP值,对所述经编码的点云数据进行解码以创建经解码的点云的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063087805P | 2020-10-05 | 2020-10-05 | |
US63/087,805 | 2020-10-05 | ||
US17/492,095 US11869220B2 (en) | 2020-10-05 | 2021-10-01 | Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC) |
US17/492,095 | 2021-10-01 | ||
PCT/US2021/053390 WO2022076316A1 (en) | 2020-10-05 | 2021-10-04 | Scaling of quantization parameter values in geometry-based point cloud compression (g-pcc) |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116235213A true CN116235213A (zh) | 2023-06-06 |
Family
ID=80931559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180066708.5A Pending CN116235213A (zh) | 2020-10-05 | 2021-10-04 | 在基于几何的点云压缩(g-pcc)中的量化参数值的缩放 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11869220B2 (zh) |
EP (1) | EP4226328A1 (zh) |
JP (1) | JP2023544689A (zh) |
KR (1) | KR20230084136A (zh) |
CN (1) | CN116235213A (zh) |
BR (1) | BR112023005368A2 (zh) |
TW (1) | TW202232950A (zh) |
WO (1) | WO2022076316A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11869220B2 (en) * | 2020-10-05 | 2024-01-09 | Qualcomm Incorporated | Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC) |
WO2023225091A1 (en) * | 2022-05-17 | 2023-11-23 | Qualcomm Incorporated | Geometry coordinate scaling for ai-based dynamic point cloud coding |
WO2024140985A1 (en) * | 2022-12-29 | 2024-07-04 | Douyin Vision Co., Ltd. | Improvements for quantization of point cloud attribute transform domain coefficients |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2499865B (en) * | 2012-03-02 | 2016-07-06 | Canon Kk | Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream |
US10275564B2 (en) * | 2016-06-17 | 2019-04-30 | The Boeing Company | System for analysis of a repair for a structure |
US11477483B2 (en) * | 2020-01-08 | 2022-10-18 | Apple Inc. | Video-based point cloud compression with variable patch scaling |
US11924428B2 (en) * | 2020-06-24 | 2024-03-05 | Qualcomm Incorporated | Scale factor for quantization parameter values in geometry-based point cloud compression |
JP7499665B2 (ja) * | 2020-09-29 | 2024-06-14 | Kddi株式会社 | 点群復号装置、点群復号方法及びプログラム |
US11869220B2 (en) * | 2020-10-05 | 2024-01-09 | Qualcomm Incorporated | Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC) |
CN115474058A (zh) * | 2021-06-11 | 2022-12-13 | 维沃移动通信有限公司 | 点云编码处理方法、点云解码处理方法及相关设备 |
WO2023059987A1 (en) * | 2021-10-04 | 2023-04-13 | Qualcomm Incorporated | Inter prediction coding with radius interpolation for predictive geometry-based point cloud compression |
-
2021
- 2021-10-01 US US17/492,095 patent/US11869220B2/en active Active
- 2021-10-04 EP EP21806066.3A patent/EP4226328A1/en active Pending
- 2021-10-04 BR BR112023005368A patent/BR112023005368A2/pt unknown
- 2021-10-04 CN CN202180066708.5A patent/CN116235213A/zh active Pending
- 2021-10-04 KR KR1020237009852A patent/KR20230084136A/ko unknown
- 2021-10-04 JP JP2023517761A patent/JP2023544689A/ja active Pending
- 2021-10-04 WO PCT/US2021/053390 patent/WO2022076316A1/en active Application Filing
- 2021-10-05 TW TW110137032A patent/TW202232950A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
BR112023005368A2 (pt) | 2023-05-09 |
TW202232950A (zh) | 2022-08-16 |
WO2022076316A1 (en) | 2022-04-14 |
US20220108486A1 (en) | 2022-04-07 |
US11869220B2 (en) | 2024-01-09 |
JP2023544689A (ja) | 2023-10-25 |
KR20230084136A (ko) | 2023-06-12 |
EP4226328A1 (en) | 2023-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008712B2 (en) | Inter-component residual prediction for attributes in geometry point cloud compression coding | |
CN116325749A (zh) | G-pcc中的预测几何编解码 | |
EP4162693A1 (en) | Attribute residual coding in g-pcc | |
JP2023520855A (ja) | ジオメトリベースのポイントクラウド圧縮における角度モードおよび方位角モードについてのレーザー角度のコーディング | |
WO2021262540A1 (en) | Planar and azimuthal mode in geometric point cloud compression | |
US11869220B2 (en) | Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC) | |
US11651551B2 (en) | Coding of component of color attributes in geometry-based point cloud compression (G-PCC) | |
CN115298698A (zh) | 基于几何的点云压缩中用于角度模式和方位角模式的激光器角度的译码 | |
KR20220166793A (ko) | 지오메트리 기반 포인트 클라우드 압축을 위한 각도 모드 단순화 | |
KR20220166792A (ko) | 지오메트리 기반 포인트 클라우드 압축을 위한 각도 모드 단순화 | |
CN116250010A (zh) | 用于点云压缩的预测性几何译码中的激光索引限幅 | |
US11924428B2 (en) | Scale factor for quantization parameter values in geometry-based point cloud compression | |
KR20230081708A (ko) | 지오메트리 포인트 클라우드 압축에서의 각도 모드 및 트리 내 양자화 | |
WO2021262824A1 (en) | Sorted laser angles for geometry-based point cloud compression (g-pcc) | |
US20240357115A1 (en) | Entropy continuation and dependent frame entropy coding in point cloud compression | |
WO2024226507A1 (en) | Entropy continuation and dependent frame entropy coding in point cloud compression | |
JP2024537021A (ja) | G-pccにおける平面及び直接モードシグナリング | |
CN117083858A (zh) | 用于几何点云压缩的残差译码 | |
CN117121492A (zh) | 使用帧间预测的对几何体点云压缩(gpcc)平面模式的性能提高 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |