CN116233468A - 点云解码方法、点云编码方法、装置、设备、介质及产品 - Google Patents
点云解码方法、点云编码方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN116233468A CN116233468A CN202111482241.0A CN202111482241A CN116233468A CN 116233468 A CN116233468 A CN 116233468A CN 202111482241 A CN202111482241 A CN 202111482241A CN 116233468 A CN116233468 A CN 116233468A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- group
- target point
- attribute
- 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供一种点云解码方法、点云编码方法、装置、设备、介质和产品,该点云解码方法和点云编码方法均对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;在点云解码方法中可以根据目标点云分组中各点的预测属性信息和对目标点云分组中各点进行属性解码处理得到的目标点云分组中各点的重建残差信息,确定目标点云分组中各点的重建属性信息,这样可以提升点云属性的解码效率;在点云编码方法中可以根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息,并基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,这样可以提高点云属性的编码效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种点云解码方法、点云编码方法、装置、设备、介质及产品。
背景技术
随着科学技术的不断发展,目前已经能够以较低的成本、在较短的时间周期内获得大量高精度的点云数据,点云数据中可以包括多个点,每个点具备几何信息和属性信息。为了提升点云数据的传输效率,在对点云数据进行传输之前,可以对点云数据进行编码处理;也就是说,编码端对点云数据进行编码后,可以将编码后的点云数据传输至解码端,解码端可以对编码后的点云数据进行解码,以重建点云数据。通常情况下,点云数据中各点的属性信息的数量较大,大量的属性信息造成了编解码过程中的压力,使得点云属性(即点云数据中的属性信息)的编解码效率不高。
发明内容
本申请实施例提供了一种点云解码方法、点云编码方法、装置、设备、介质及产品,可以提高点云属性的编解码效率。
一方面,本申请实施例提供了一种点云解码方法,该点云解码方法包括:
获取待解码的目标点云分组,目标点云分组中包括一个或多个待解码的点;获取目标点云分组的属性解码模式,并按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息;根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
本申请实施例中,在获取到待解码的点云分组和该点云分组的属性解码模式后,可以按照该点云分组的属性解码模式对该点云分组中各点进行属性预测,得到该点云分组中各点的预测属性信息,以及可以对该点云分组中各点进行属性解码处理,以得到该点云分组中各点的重建残差信息,然后可以根据该点云分组中各点的预测属性信息以及重建残差信息,确定该点云分组中各点的重建属性信息。由上述内容可知,本申请实施例以组为单位进行属性预测,获取的点云分组的属性解码模式可以适用于对该点云分组中各点进行属性预测,这样可以提高点云属性的预测效率,进而可以提高点云属性的解码效率;另外,本申请实施例对点云分组中各点进行属性解码处理最终得到的是该点云分组中各点的重建残差信息,而不是重建属性信息,这样可以减少属性解码处理时解码的数据量,进一步提高点云属性的解码效率。
另一方面,本申请实施例提供一种点云编码方法,该点云编码方法包括:
获取待编码的目标点云分组,目标点云分组中包括一个或多个待编码的点;获取目标点云分组的属性编码模式,并按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息;基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组。
本申请实施例中,在获取到待编码的点云分组和该点云分组的属性编码模式后,可以按照该点云分组的属性编码模式对该点云分组中各点进行属性预测,得到该点云分组中各点的预测属性信息,该点云分组中各点的预测属性信息可以用于确定该点云分组中各点的预测残差信息,基于该点云分组中各点的预测残差信息对该点云分组中各点进行属性编码处理,可以得到编码后的该点云分组。由上述内容可知,本申请实施例以组为单位进行属性预测,获取的点云分组的属性编码模式可以适用于对该点云分组中的各个点进行属性预测,这样可以提高点云属性的预测效率,进而可以提高点云属性的编码效率;另外,本申请实施例基于点云分组中各点的预测残差信息便可以对该点云分组中各点进行属性编码处理,而不需要对点云分组中各点的真实属性信息进行属性编码处理,这样可以减少属性编码处理时编码的数据量,进一步提高点云属性的编码效率。
相应地,本申请实施例提供了一种点云解码装置,该点云解码装置包括:
获取单元,用于获取待解码的目标点云分组和目标点云分组的属性解码模式,目标点云分组中包括一个或多个待解码的点;
处理单元,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息;根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
在一种实现方式中,处理单元,用于对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息时,具体用于执行如下步骤:
对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息;或者,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,并对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息。
在一种实现方式中,处理单元,还用于执行如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的重建残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;对待解码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性解码模式与目标点云分组的属性解码模式不同;或者,第一点云分组的属性解码模式与目标点云分组的属性解码模式相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对当前待解码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则跳过当前待解码的点,将解码顺序位于当前待解码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待解码的点的数量达到分组数量阈值;其中,任一个待解码的点为非重复点是指待解码的点与待解码的点的前序点的几何信息均不相同;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;待解码的点的前序点是指解码顺序位于待解码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则将当前待解码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将解码顺序位于当前待解码的点之后的待解码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对重复点进行分组处理;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元,用于对待解码的点云数据进行分组处理的过程时,具体用于执行如下步骤:
若当前待解码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待解码的点进行分组处理;若当前待解码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待解码的点进行分组处理。
在一种实现方式中个,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性解码模式为组间属性解码模式;处理单元,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性解码模式为组内属性解码模式;处理单元,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;处理单元,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,处理单元,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;
处理单元,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的解码顺序依次被解码;目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;处理单元,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中解码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待解码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性解码模式包括多种组内属性解码模式;处理单元,还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性解码模式为第一组内属性解码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性解码模式为第二组内属性解码模式,第一组内属性解码模式与第二组内属性解码模式不相同。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;属性解码模式包括组间属性解码模式或组内属性解码模式;获取单元,用于获取目标点云分组的属性解码模式时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性解码模式为组间属性解码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性解码模式为组内属性解码模式。
相应地,本申请实施例提供了一种点云编码装置,该点云编码装置包括:
获取单元,用于获取待编码的目标点云分组和目标点云分组的属性编码模式,目标点云分组中包括一个或多个待编码的点;
处理单元,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息;基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,处理单元,用于基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组时,具体用于执行如下步骤:
对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组;或者,对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数;对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,处理单元,还用于执行如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的预测残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;对待编码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性编码模式与目标点云分组的属性编码模式不同;或者,第一点云分组的属性编码模式与目标点云分组的属性编码模式相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对当前待编码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则跳过当前待编码的点,将编码顺序位于当前待编码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待编码的点的数量达到分组数量阈值;其中,任一个待编码的点为非重复点是指待编码的点与待编码的点的前序点的几何信息均不相同;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;待编码的点的前序点是指编码顺序位于待编码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则将当前待编码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将编码顺序位于当前待编码的点之后的待编码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对重复点进行分组处理;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待编码的点进行分组处理;若当前待编码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待编码的点进行分组处理。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性编码模式为组间属性编码模式;处理单元,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性编码模式为组内属性编码模式;处理单元,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;处理单元,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,处理单元,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;
处理单元,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的编码顺序依次被编码;目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;处理单元,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中编码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待编码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待编码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性编码模式包括多种组内属性编码模式;处理单元,还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性编码模式为第一组内属性编码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性编码模式为第二组内属性编码模式,第一组内属性编码模式与第二组内属性编码模式不相同。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;属性编码模式包括组间属性编码模式或组内属性编码模式;获取单元,用于获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性编码模式为组间属性编码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性编码模式为组内属性编码模式。
在一种实现方式中,属性编码模式包括组间属性编码模式或组内属性编码模式;获取单元,用于获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
按照组间属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组间属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组间属性编码模式下的预测属性信息进行编码处理,得到第一编码信息;按照组内属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组内属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组内属性编码模式下的预测属性信息进行编码处理,得到第二编码信息;若第一编码信息大于或等于第二编码信息,则确定目标点云分组的属性编码模式为组内属性编码模式;若第一编码信息小于第二编码信息,则确定目标点云分组的属性编码模式为组间属性编码模式。
相应地,本申请实施例提供一种计算机设备,该计算机设备包括处理器和计算机可读存储介质;其中,处理器适于实现计算机程序;计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的点云解码方法和点云编码方法。
相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的点云解码方法和点云编码方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的点云解码方法和点云编码方法。
本申请实施例中,以组为单位进行属性预测,获取的点云分组的属性解码模式(或属性编码模式)可以适用于对该点云分组中各点进行属性预测,这样可以提高点云属性的预测效率,进而可以提升点云属性的编解码效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编码框架的示意图;
图2是本申请实施例提供的一种点云属性编解码系统的架构示意图;
图3是本申请实施例提供的一种点云解码方法的流程示意图;
图4a是本申请实施例提供的一种点云数据的分组方式的示意图;
图4b是本申请实施例提供的另一种点云数据的分组方式的示意图;
图4c是本申请实施例提供的另一种点云数据的分组方式的示意图;
图5是本申请实施例提供的另一种点云解码方法的流程示意图;
图6是本申请实施例提供的一种邻近点确定过程的示意图;
图7是本申请实施例提供的一种点云编码方法的流程示意图;
图8是本申请实施例提供的一种点云解码装置的结构示意图;
图9是本申请实施例提供的一种点云编码装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更清楚地理解本申请实施例提供的技术方案,在此先对本申请实施例涉及的关键术语进行介绍:
(1)点云数据(Point Cloud Data)。点云数据可以是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集,点云数据中可以包括多个点,每个点具备几何信息和属性信息。其中,几何信息也可以称为三维位置信息,任一个点的几何信息可以是指该点的三维坐标(x,y,z),可以包括该点在三维坐标系统的各个坐标轴中的坐标值,即X轴的坐标值x,Y轴的坐标值y,Z轴的坐标值z。任一个点的属性信息可以包括以下至少一种:颜色信息、材质信息、激光反射强度信息(也可以称为反射率);通常,点云数据中的每个点具有相同数量的属性信息;例如,点云数据中的每个点都可以具有颜色信息和激光反射强度两种属性信息;或者,点云数据中的每个点都可以具有颜色信息、材质信息和激光反射强度信息三种属性信息。另外,可以根据不同的分类标准将点云数据划分为不同的类别;例如,从点云数据的获取方式划分,可以分为将点云数据的类型分为密集型点云和稀疏型点云;又如,从点云数据的时序类型划分,可以将点云数据的类型分为静态点云和动态点云。
(2)点云编码(Point Cloud Compression,PCC)。点云编码是指对点云数据进行编码,得到点云数据的压缩码流的过程。点云编码可以包括几何信息编码和属性信息编码两个主要过程。目前主流的点云编码技术,针对点云数据的不同类型,可以分为基于几何结构的点云编码以及基于投影的点云编码,在此以MPEG(Moving Picture Expert Group,国际视音频编解码标准)中的G-PCC(Geometry-based Point Cloud Compression,基于几何结构的点云编码),以及AVS(Audio Video Coding Standard,中国国家视频编解码标准)中的点云编码标准AVS-PCC为例进行介绍。
G-PCC及AVS-PCC的编码框架大致相同,如图1所示,可以分为几何信息编码过程以及属性信息编码过程。几何信息编码过程对点云数据中各点的几何信息进行编码,得到几何比特流;属性信息编码过程对点云数据中各点的属性信息进行编码,得到属性比特流;几何比特流和属性比特流共同组成点云数据的压缩码流。
对于几何信息编码过程,主要操作和处理可以参见如下描述:
①预处理(Pre-Processing):可以包括坐标变换(Transform Coordinates)和体素化(Voxelize)。通过缩放和平移的操作,将三维空间中的点云数据转换成整数形式,并将其最小几何位置移至坐标原点处。
②几何八叉树编码(Octree):八叉树是一种树形数据结构,在三维空间划分中,对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。通过对八叉树各个子节点的占用与否采用“1”和“0”指示,获得占用码信息(Occupancy Code)作为点云几何信息的码流。包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。
③几何预测树编码(Predictive Tree):分析点云数据中各点的三维坐标的邻近关系,设置一定的准则将各个点逐一连接成单链或是多链的树形结构,利用前后连接的父节点和子节点之间的坐标计算残差值,通过对残差值及可能存在的索引值及计算方法进行编码。
④基于三角表示的几何编码(Trisoup):在点云块划分的基础上,定位点云表面在块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。点云块是对点云数据中的各个点所处的三维空间进行划分得到的,每个点云块中包括点云数据中的部分点。
⑤几何量化(Geometry Quantization):量化的精细程度通常由量化参数(Quantizer Parameter,QP)来决定,QP取值较大大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
⑥几何熵编码(Geometry Entropy Encoding):针对八叉树的占用码信息,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码(Content Adaptive Binary Arithmetic Coding,CABAC)。
对于属性信息编码过程,主要操作和处理可以参见如下描述:
①属性重上色(Recoloring):有损编码情况下,在几何信息编码后,需编码端解码并重建几何信息,即恢复点云数据中各点的几何信息。在原始的点云数据中寻找对应一个或多个邻近点的属性信息,作为该重建点的属性信息。
②属性预测编码(Prediction):通过对几何信息或属性信息的邻近关系,选择一个或多个点的属性信息,并求加权平均获得最终的预测属性信息,对真实属性信息与预测属性信息之间的预测残差信息进行编码。
③属性变换编码(Transform):分析几何信息的邻近关系,通过变换矩阵将一定数量的点对应的真实属性信息转换为变换系数,对变换系数进行编码。
④属性预测变换编码(Predicting Transform):基于预测所得的预测残差信息,通过变换矩阵将一定数量的点对应的预测残差信息转换为变换系数,对变换系数进行编码。
⑤属性信息量化(Attribute Quantization):量化的精细程度通常由量化参数来决定。在属性预测编码中,是对量化后的预测残差信息进行熵编码;在属性变换编码及属性预测变换编码中,是对量化后的变换系数进行熵编码。
⑥属性熵编码(Attribute Entropy Coding):量化后的预测残差信息或变换系数一般使用行程编码(Run Length Coding)及算数编码(Arithmetic Coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
(3)点云解码。点云解码是指对点云数据的压缩码流进行解码,以重建点云数据的过程;详细地说,可以是基于压缩码流中的几何比特流和属性比特流,重建点云数据中各点的几何信息和属性信息的过程。在解码端获得点云数据的压缩码流之后,对于几何比特流,首先进行熵解码,得到点云数据中各点量化后的几何信息,然后进行反量化,重建点云数据中各点的几何信息。而对于属性比特流,首先进行熵解码,得到点云数据中各点量化后的预测残差信息或量化后的变换系数;然后对量化后的预测残差信息进行反量化得到重建残差信息,对量化后的变换系数进行反量化得到重建变换系数,重建变换系数经反变换后得到重建残差信息,根据点云数据中各点重建残差信息可以重建点云数据中各点的属性信息。将点云数据中各点重建的属性信息,按顺序与重建的几何信息一一对应,得到重建的点云数据。
基于上述点云数据、点云编码和点云解码的相关描述,本申请实施例提供了一种以点云分组为属性预测单位的点云属性解码方案和点云属性编码方案。在点云属性解码方案中,待解码的点云数据中可以包括多个待解码的点,可以将待解码的点云数据划分为多个点云分组;针对任一个待解码的点云分组,可以获取该点云分组的属性解码模式,并按照该点云分组的属性解码模式对该点云分组进行属性预测,得到该点云分组中各点的预测属性信息,然后对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息,以及根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息;在以点云分组为属性预测单位的点云属性解码方案中,获取的点云分组的属性解码模式可以适用于对该点云分组中的各个点进行属性预测,这样可以提高点云分组中各点的属性预测效率,进而可以提高点云属性的解码效率。类似地,在点云属性编码方案中,待编码的点云数据中可以包括多个待编码的点,可以将待编码的点云数据划分为多个点云分组;针对任一个待编码的点云分组,可以获取该点云分组的属性编码模式,并按照该点云分组的属性编码模式对该点云分组进行属性预测,得到该点云分组中各点的预测属性信息,然后可以根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息,以及基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组;在以点云分组为属性预测单位的点云属性编码方案中,获取的点云分组的属性编码模式可以适用于对该点云分组中的各个点进行属性预测,这样可以提高点云分组中各点的属性预测效率,进而可以提高点云属性的编码效率。
基于上述描述,下面对适于实现本申请实施例提供的点云属性解码方案和点云属性编码方案的点云属性编解码系统进行介绍。如图2所示,点云属性编解码系统20中可以包括编码设备201和解码设备202,编码设备201或解码设备202可以是终端,也可以是服务器,编码设备201和解码设备202之间可以建立通信连接。其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在点云属性编解码系统中,点云属性编解码流程可以包括以下三个阶段:
(1)点云数据的获取阶段。
点云数据可以通过场景捕获或设备生成两种方式获取得到。其中,场景捕获点云数据可以是指通过捕获设备采集真实世界的视觉场景得到点云数据;捕获设备可以是设置于编码设备201中的硬件组件,例如捕获设备是终端的摄像头、传感器等。捕获设备也可以是与编码设备201相连接的硬件装置,例如与服务器相连接的摄像头等;捕获设备用于为编码设备201提供点云数据的获取服务;捕获设备可以包括但不限于以下任一种:摄像设备、传感设备、扫描设备;其中,摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等;传感设备可以包括激光设备、雷达设备等;扫描设备可以包括三维激光扫描设备等。设备生成点云数据可以是指虚拟对象制作设备根据虚拟对象(例如通过三维建模得到的虚拟三维物体及虚拟三维场景)的生成点云数据。
点云数据中可以包括待编码的点的几何信息和真实属性信息。其中,真实属性信息可以是指属性的真实反映;例如,上述通过场景捕获方式获取到的点云数据中,任一点的真实属性信息可以是通过捕获设备捕获到的该点在真实世界的视觉场景中的属性的真实反映;又如,上述通过设备生成方式获取到的点云数据中,任一点的真实属性信息可以是虚拟对象制作设备中设定的该点在三维虚拟物体或三维虚拟场景中的真实属性值。
(2)点云数据的编码阶段。
在捕获设备获取到点云数据后,编码设备201可以将待编码的点云数据划分为多个点云分组,编码设备201可以点云分组为编码单位进行点云属性编码,得到各个点云分组中点的属性编码。然后,编码设备201可以获取各个点云分组中点的几何编码;编码设备201可以将各个点云分组中点的属性编码和几何编码一一对应,并根据各个点云分组中点的属性编码和几何编码生成编码后的点云数据,并将编码后的点云数据传输至解码设备202。
(3)点云数据的解码阶段。
在接收到编码设备201传输待解码的点云数据(即上述编码后的点云数据)后,解码设备202可以将待解码的点云数据划分为多个点云分组,解码设备202可以点云分组为解码单位进行点云属性解码,得到各个点云分组中点的重建属性信息。然后,解码设备202可以获取各个点云分组中点的重建几何信息;解码设备可以将各个点云分组中点的重建属性信息和重建几何信息一一对应,并根据各个点云分组中点的重建属性信息和重建几何信息重建点云数据。
通过点云属性编解码系统中点云属性编解码流程的三个阶段,可以在解码端提高点云数据的解码效率,可以在编码端提升点云数据的编码效率。可以理解的是,本申请实施例描述的点云属性编解码系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面结合图3至图7对本申请实施例提供的点云属性解码方案和点云属性编码方案进行详细介绍。
本申请实施例提供一种点云解码方法,该点云解码方法主要介绍点云属性解码的整体流程、点云数据的分组方式、以及点云属性解码中的变换判定,该点云解码方法可以由点云属性编解码系统20中的解码设备202执行。如图3所示,该点云解码方法可以包括以下步骤S301至步骤S305:
S301,获取待解码的目标点云分组。
由前述内容可知,本申请实施例提供的点云属性解码方案可以是以点云分组为解码单位对待解码到的点云数据进行解码得到的,因此对待解码的点云数据进行分组处理,待解码的目标点云分组可以是对待解码的点云数据进行分组处理得到的任一个点云分组。
在此对待解码的点云数据进行分组处理的方式进行介绍,对待解码的点云数据进行分组处理可以包括但不限于以下任一种:
(1)重复点截断的点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:若当前待解码的点为重复点,则对当前待解码的点的一个或多个前序点按照既定规则进行分组处理。对当前待解码的点的一个或多个前序点按照既定规则进行分组处理可以包括以下两种情况中的任一种:第一种情况,若当前待解码的点的前序点中不存在重复点,即当前待解码的点为待解码的点云数据中的第一个重复点,则可以对当前待解码的点的一个或多个前序点按照既定规则进行分组处理。第二种情况,若当前待解码的点的前序点中存在一个或多个重复点,即当前待解码的点非待解码的点云数据中的第一个重复点,则可以对位于当前待解码的点和当前待解码的点的前一个重复点之间的当前待解码的点的一个或多个前序点进行分组处理。
其中,当前待解码的点的前序点可以是指解码顺序位于当前待解码的点之前的点。当前待解码的点为重复点可以是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点与前序点的几何信息相同可以是指:前待解码的点的三维坐标与前序点的三维坐标相同,即前待解码的点与前序点在三维空间中重合。既定规则可以是指分组规则,该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量);排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
以图4a为例,点A至点J共10个点按照各自的解码顺序依次被解码,设置每个点云分组的分组数量阈值为3;若点C为重复点,则可以按照分组数量阈值对点C的前序点(点A和点B)进行分组处理,将点A和点B划分为一个点云分组;类似地,若点G为重复点,则可以按照分组数量阈值对位于点C和点G之间的点G的前序点(点D、点E和点F)进行分组处理,将点D、点E和点F划分为一个点云分组;剩余的点H、点I和点J中不存在重复点,可以按照分组数量阈值对点H、点I和点J进行分组处理,将点H、点I和点J划分为一个点云分组,分组结束。
(2)重复点不计入分组的定量点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:若当前待解码的点为重复点,则跳过当前待解码的点,将解码顺序位于当前待解码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待解码的点的数量达到分组数量阈值。
其中,当前待解码的点的前序点可以是指解码顺序位于当前待解码的点之前的点。当前待解码的点为重复点可以是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点与前序点的几何信息相同可以是指:前待解码的点的三维坐标与前序点的三维坐标相同,即前待解码的点与前序点在三维空间中重合。任一个待解码的点为非重复点可以是指该待解码的点与该待解码的点的所有前序点的几何信息均不相同。分组数量阈值可以是指当前点云分组允许容纳的点的最大数量。
以图4b为例,点A至点J共10个点按照各自的解码顺序依次被解码,设置每个点云分组的分组数量阈值为4;当前点云分组包括点A和点B,若点C为重复点,则可以跳过点C,将解码顺序位于点C之后的非重复点添加至当前点云分组中,直至满足当前点云分组的分组数量阈值为止,即将点A、点B、点D和点E划分为一个点云分组;类似地,当前点云分组中包括点F,若点G为重复点,则可以跳过点G,将解码顺序位于点G之后的非重复点添加至当前点云分组中,直至满足当前点云分组的分组数量阈值为止,即将点F、点H、点I和点J划分为一个点云分组,分组结束。
(3)重复点计入分组的定量点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:若当前待解码的点为重复点,则将当前待解码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将解码顺序位于当前待解码的点之后的待解码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值。
其中,当前待解码的点的前序点可以是指解码顺序位于当前待解码的点之前的点。当前待解码的点为重复点可以是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点与前序点的几何信息相同可以是指:前待解码的点的三维坐标与前序点的三维坐标相同,即前待解码的点与前序点在三维空间中重合。分组数量阈值可以是指当前点云分组允许容纳的点的最大数量。
以图4c为例,点A至点J共10个点按照各自的解码顺序依次被解码,设置每个点云分组的分组数量阈值为4;当前点云分组中包括点A和点B,若点C为重复点,则可以将点C添加至当前点云分组中,此时当前点云分组中包括点A、点B和点C,当前点云分组未满足分组数量阈值,则可以将解码顺序位于点C之后的非重复点添加至当前点云分组中,直至满足当前点云分组的分组数量阈值为止,即将点A、点B、点C和点D划分为一个点云分组;类似地,当前点云分组包括点E和点F,若点G为重复点,则可以将点G添加至当前点云分组中,此时当前点云分组中包括点E、点F和点G,当前点云分组未满足分组数量阈值,则可以将解码顺序位于点G之后的非重复点添加至当前点云分组中,直至满足当前点云分组的分组数量阈值为止,即将点E、点F、点G和点H划分为一个点云分组;剩余的点I和点J中不存在重复点,可以按照分组数量阈值对点I和点J进行分组处理,将点I和点J划分为一个点云分组,分组结束。
(4)重复点计入分组的点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:若当前待解码的点为重复点,则可以对重复点进行分组处理。其中,当前待解码的点的前序点可以是指解码顺序位于当前待解码的点之前的点。当前待解码的点为重复点可以是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点与前序点的几何信息相同可以是指:前待解码的点的三维坐标与前序点的三维坐标相同,即前待解码的点与前序点在三维空间中重合。也就是说,该点云分组方式将重复点计入分组,但是该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量),即上述(3)描述的方案;排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
(5)重复点数量判定的点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:若当前待解码的点为重复点,且已统计的重复点数量大于第一数量阈值,则可以不对当前待解码的点进行分组处理;若当前待解码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则可以对当前待解码的点进行分组处理。
其中,当前待解码的点的前序点可以是指解码顺序位于当前待解码的点之前的点。当前待解码的点为重复点可以是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点与前序点的几何信息相同可以是指:前待解码的点的三维坐标与前序点的三维坐标相同,即前待解码的点与前序点在三维空间中重合。已统计的重复点数量可以是指:当前待解码的点的前序点中存在的重复点的数量加1(即加上当前待解码的点)后的数量。
也就是说,该点云分组方式在当前待解码的点是重复点且已统计的重复点数量大于第一数量阈值时,可以将当前待解码的点不计入点云分组,在当前待解码的点是重复点且已统计的重复点数量小于或等于第一数量阈值时,可以将当前待解码的点计入点云分组。并且,该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量);排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
(6)基于相似排序码的点云分组方式。在介绍此方式之前,先对重排序的过程进行介绍:可以获取各个待解码的点的排序码,然后按照各个待解码的点的排序码由大到小或由小到大的顺序对各个待解码的点进行排序。举例来说,任一个待解码的点的排序码可以是对该待解码的点的几何信息进行变换处理(此处的变换处理可以是指第一变换处理)得到的,第一变换处理例如可以是对该待解码的点的几何信息进行希尔伯特变换(HilbertTransform)得到的希尔伯特码,可以按照各个待解码的点的希尔伯特码由大到小或由小到大的顺序对各个待解码的点进行排序。
在介绍了重排序的过程后,在此对基于相似排序码的点云分组方式进行介绍,详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:首先,可以对各个待解码的点进行重排序(已重排序的各个待解码的点可以忽略此步骤);然后,可以将排序码后L位相同的点划分为一个点云分组。L的初始值可以表示为L_base,L_base的计算方式可参见下述公式1:
在此对上述公式1中的参数进行解释:L_base是L的初始值,L是用于进行分组处理的排序码位数;H表示待解码的的总数量;maxSize表示待解码的点的几何信息定点化后的最大边长尺寸,几何信息定点化是指对几何信息进行预处理,最大边长尺寸是指预处理后的任意两个待解码的点之间的距离中的最大距离,此处的距离可以是指任意两个待解码的点之间的曼哈顿距离或欧氏距离(即欧几里得的距离)等;Kmean表示预期的分组处理得到的各个点云分组中包含的待解码的点的数量的平均值,可以根据实际需要进行设置,例如可以将Kmean设置为4。
针对该点云分组方式可能存在的各点云分组中包含的待解码的点的数量不均衡的问题,可以动态调整L的大小;调整的规则为,统计已分组得到的点云分组中包含的待解码的点的数量的平均值,如果平均值小于第一数值(例如可以是2),则L=L+m;如果平均值大于第二数值(例如可以是7),则L=L-m;否则,L不变;其中第二数值大于第一数值,m是可以是一个常数,例如m可以是3。
(7)基于排序码移位的点云分组方式。详细来说,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码,对待解码的点云数据进行分组处理的过程,可以包括:对各个待解码的点进行重排序(已重排序的待解码的点可以忽略此步骤);对各个待解码的点的排序码(例如可以是上述的希尔伯特码)进行基于目标移动位数的移位处理(例如可以是右移处理);将具有相同的移位处理后的排序码的待解码的点划分为一个点云块,重复点不计入点云块;针对任一个点云块,若该点云块中包含的待解码的点的数量小于或等于分组数量阈值,则可以将该点云块确定为一个点云分组;若该点云块中包含的待解码的点的数量大于分组数量阈值,则可以按照分组数量阈值对该点云块进行分组处理。其中,目标移动位数的确定过程可参见下述公式2-公式4:
MaxBits=log2(long×width×height) 公式3
MinBits=log2voxelCount 公式4
在此对上述公式2-公式4中的参数进行解释:shiftBits表示目标移动位数;voxelCount表示待解码的点的总数量;long表示所有待解码的点的包围盒的长;width表示所有待解码的点的包围盒的宽;height表示所有待解码的点的包围盒高。
上述(1)-(7)描述的点云分组方式中,对于重复点不计入点云分组的点云分组方式而言,可以使得相似的点更为集中,在解码过程中可以减少重复信息的解码,有利于提升解码效率。对于重复点计入点云分组的点云分组方式而言,待解码的点云数据中存在的重复点的数量一般都比较少(如上述提及的已统计的重复点数量小于或等于第一数量阈值),对解码效率产生的影响较小。
S302,获取目标点云分组的属性解码模式。
目标点云分组中可以包括一个或多个待解码的点,在获取到待解码的目标点云分组之后,可以获取目标点云分组的属性解码模式,属性解码模式是指在目标点云分组的解码阶段用于预测目标点云分组中各点的预测属性值的方法或策略,属性解码模式可以包括组内属性解码模式或组间属性解码模式。其中,组内属性解码模式可以是指:根据目标点云分组中的目标点的预测属性信息,确定目标点云分组中除目标点之外的其他点的预测属性信息的属性解码模式,目标点的数量可以为一个或多个;或者可以是指:分别确定目标点云分组中各点的预测属性信息的属性解码模式。组间属性解码模式可以是指:根据目标点云分组的关联点云分组中各点的重建属性信息,确定目标点云分组中各点的预测属性信息的属性解码模式。
需要说明的是,对待解码的点云数据进行分组处理得到的任一两个点云分组的属性解码模式可以是相同的,也可以是不同的。例如,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;对待解码的点云数据进行分组处理还可以得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组,即目标点云分组和第一点云分组是对待解码的点云数据进行分组处理得到的任意两个点云分组;第一点云分组的属性解码模式与目标点云分组的属性解码模式不同;或者,第一点云分组的属性解码模式与目标点云分组的属性解码模式相同。
S303,按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息。
获取到目标点云分组中的属性解码模式之后,可以按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息,目标点云分组中任一点的预测属性信息是指预测得到的该点的属性信息。
当目标点云分组的属性解码模式为组间属性解码模式时,按照组间属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的属性预测信息,可以包括:从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;根据M个关联点云分组中各点的重建属性信息,确定目标点云分组中各点的预测属性信息。为了便于理解目标点云分组的M个关联点云分组,在此举例说明,对待解码的点云数据进行分组处理得到的点云分组可以表示为点云分组1、点云分组2…,点云分组1的解码顺序位于点云分组2的解码顺序之前,点云分组2的解码顺序位于早于点云分组3的解码顺序之前,以此类推,点云分组5的3个关联点云分组分别是点云分组2、点云分组3和点云分组4。
当目标点云分组的属性解码模式为组内属性解码模式时,按照组内属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的属性预测信息,可以包括:分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
S304,对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息。
在对本申请实施例中的步骤S304进行介绍之前,需要说明的是,本申请实施例中步骤S303和步骤S304的执行过程不分先后。本申请实施例中,对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息可以包括以下任一种情况:
(1)属性预测解码。属性预测解码与属性预测编码对应,以目标点云分组为例,属性预测编码的过程可以包括:对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码。相应地,在属性预测解码方式中,对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息,可以包括:对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息。其中,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息,具体可以包括:可以对目标点云分组中各点的属性编码进行解码处理(例如可以是熵解码处理),得到目标点云分组中各点的重建量化值,然后可以对目标点云分组中各点的重建量化值进行反量化处理,得到目标点云分组中各点的重建残差信息。
(2)属性预测变换解码。属性预测变换解码与属性预测变换编码对应,以目标点云分组为例,属性预测变换编码的过程可以包括:对目标点云分组中各点的预测残差信息进行变换处理(此处的变换处理可以是指第二变换处理),得到目标点云分组中各点的残差变换系数,然后可以对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码。相应地,在属性预测变换解码方式中,对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息,可以包括:对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,并对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息。
其中,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,具体可以包括:可以对目标点云分组中各点的属性编码进行解码处理(例如可以是熵解码处理),得到目标点云分组中各点的重建量化值,然后可以对目标点云分组中各点的重建量化值进行反量化处理,得到目标点云分组中各点的重建变换系数。另外,此处的反变换处理与上述第二变换处理对应,第二变换处理例如可以是对目标点云分组中各点的预测残差信息进行DCT(Discrete Cosine Transform,离散余弦变换)处理,DCT变换属于正交变换,正交变换不改变信源熵值,完全可以通过反变换处理得到重建残差信息,并且经过DCT变换后的预测残差信息编码程度高;对目标点云分组中各点的预测残差信息进行变换处理,得到的目标点云分组中各点的残差变换系数可以包括DC系数(直流系数)和AC系数(交流系数),在属性编码处理时分别对DC系数和AC系数进行编码。反变换处理例如可以是对目标点云分组中各点的重建变换系数进行IDCT(Inverse Discrete Cosine Transform,离散余弦逆变换)处理。
(3)进行变换判定的属性解码。在上述(1)中,可以直接对目标点云分组进行属性预测解码处理,得到目标点云分组中各点的重建残差信息,在上述(2)中,可以直接对目标点云分组进行属性预测变换解码处理,得到目标点云分组中各点的重建残差信息。基于此,提出一种进行变换判定的属性解码,即增加对目标点云分组的变换判定过程,判定目标点云分组应该采用上述(1)中的属性预测解码,或应该采用上述(2)中的属性预测变换解码。详细来说,可以对目标点云分组进行变换判定;若目标点云分组满足变换条件,则可以对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,并对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息,即上述(2);若目标点云分组不满足变换条件,则可以对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息,即上述(1)。
其中,目标点云分组满足变换条件可以包括以下任一种:目标点云分组中包含的点的数量满足数量条件;例如目标点云分组中包含的点的数量大于或等于变换数量阈值,目标点云分组中包含的点的数量为奇数(或偶数)等等。或者,目标点云分组中各点的重建残差信息的分布满足分布条件,例如目标点云分组中各点的重建残差信息中的最大重建残差信息与最小重建残差信息之间的差值小于或等于分布阈值,目标点云分组中各点的重建残差信息的方差小于或等于方差阈值等等。
目标点云分组不满足变换条件可以包括以下任一种:目标点云分组中包含的点的数量不满足数量条件;例如目标点云分组中包含的点的数量小于变换数量阈值,目标点云分组中包含的点的数量为偶数(或奇数)等等。或者,目标点云分组中各点的重建残差信息的分布满足不分布条件,例如目标点云分组中各点的重建残差信息中的最大重建残差信息与最小重建残差信息之间的差值大于分布阈值,目标点云分组中各点的重建残差信息的方差大于方差阈值等等。
S305,根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
获取到目标点云分组中各点的预测属性信息和重建残差信息后,可以根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。目标点云分组中任一点的重建属性信息可以等于该点的预测属性信息与该点的重建残差信息之和。
本申请实施例中,在对待解码的点云数据进行分组处理的过程中,可以将重复点不计入分组,这样可以减少重复信息的解码,使得相似的点更为集中,有利于提升解码效率。并且,对待解码的点云数据进行分组处理得到的任意两个点云分组的属性解码模式可以是不同的,通过在不同的点云分组中设计差异化的属性解码模式,可以保证对点云分组进行属性预测的准确性。另外,在目标点云分组满足变换条件时可以对目标点云分组中各点的重建残差信息进行反变换处理,这样可以提升解码过程的准确率。
本申请实施例提供一种点云解码方法,该点云解码方法主要介绍目标点云分组的属性解码模式的确定过程,以及目标点云分组的属性预测过程,该点云解码方法可以由点云属性编解码系统20中的解码设备202执行。如图5所示,该点云解码方法可以包括以下步骤S501至步骤S507:
S501,获取待解码的目标点云分组。
本申请实施例中步骤S501的执行过程与上述图3所示实施例中步骤S301的执行过程相同,具体可参见上述图3所示实施例中步骤S301的执行过程,在此不再赘述。
S502,获取目标点云分组的属性解码模式。
由前述内容可知,目标点云分组的属性解码模式可以包括组间属性解码模式和组内属性解码模式,可以基于组间相似度方式确定目标点云分组的属性解码模式,下面对组间相似度方式进行介绍,获取目标点云分组的属性解码模式,可以包括:从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性解码模式为组间属性解码模式;若组间相似度小于或等于相似度阈值,则确定目标点云分组的属性解码模式为组内属性解码模式。
其中,组间相似度可以包括组间几何相似度。组间几何相似度可以是根据目标点云分组中各点的几何信息与M个关联点云分组中各点的几何信息计算得到的;例如可以根据目标点云分组中每个点的几何信息与M个关联点云分组中各点的几何信息,计算目标点云分组中每个点与M个关联点云分组中各点之间的距离,然后可以对目标点云分组中各点的距离求和,并将距离求和后的倒数确定为组间几何相似度;组间几何相似度数值越大,表明目标点云分组与M个关联点云分组的相似度越高。
也就是说,组间相似度方式通过目标点云分组与目标点云分组的关联点云分组之间的相似度选择目标点云分组的属性解码模式;目标点云分组与关联点云分组之间的相似度高时,可以采用组间属性解码模式作为目标点云分组的属性解码模式;目标点云分组与关联点云分组之间的相似度低时,可以采用组间属性解码模式作为目标点云分组的属性解码模式。
S503,按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息。
当目标点云分组的属性解码模式为组间属性解码模式时,按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,具体可以包括以下两种中的任一种:
(1)从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;然后可以将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性值,该统一的预测属性值是M个关联点云分组中各点的重建属性信息的平均值。
(2)从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;然后可以在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。也就是说,目标点云分组中任一点的预测属性系信息是根据该点的关联点的重建属性信息确定的。
其中,目标点云分组中任一点的关联点可以是M个关联点云分组中与该点距离相近的一个或多个点。当目标点云分组中任一点(例如可以表示为第i点,i为正整数)的关联点可以是M个关联点云分组中与该任一点距离相近的一个点时,该第i点的预测属性信息等于该一个关联点的重建属性信息。当目标点云分组中任一点(例如可以表示为第i点,i为正整数)的关联点可以是M个关联点云分组中与该第i点距离相近的多个点时,该第i点的预测属性信息等于该多个关联点的重建属性信息的平均值或加权平均值,任一个关联点的权重可以是根据该关联点与该第i点之间的距离确定的,例如可以是该关联点与该第i点之间的距离的倒数。
当目标点云分组的属性解码模式为组内属性解码模式时,按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,可以包括以下子步骤s11-子步骤s12:
s11,确定目标点云分组中的目标点的预测属性信息。
在一种实现方式中,目标点可以是目标点云分组中的任一个或多个点,例如目标点可以是目标点云分组中排列于首位的点,或者可以是目标点云分组中排列于末位的点,或者可以是目标点云分组中排列于首位的点和排列于末位的点。
在另一种实现方式中,可以对目标点云分组进行进一步分组处理,得到P个点云子分组,P为大于或等于2的整数;可以从P个点云子分组的每个点云子分组中选择一个点作为目标点,也就是说,P个点云子分组中的每个点云子分组中包含一个目标点,例如每个点云子分组中的目标点可以是每个点云子分组中的排列于首位的点。
在上述两种实现方式中,确定目标点的预测属性信息的方式可以包括以下两种情况中的任一种:
(1)将目标点云分组中解码顺序位于目标点的相邻点的重建属性信息,确定为目标点的预测属性信息。例如目标点云分组中的目标点可以表示为第i点,第i点的预测属性信息可以是根据第i-1点的重建属性信息确定的,i为大于1的整数。
(2)在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;所述Q个邻近点是对待解码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
其中,在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点可以包括以下两种中的任一种:第一种,可以对待解码的点云数据进行分组处理得到的点云分组中的各个点进行重排序,例如前述基于分组处理得到的点云分组中的各个点的希尔伯特码进行重排序,然后在重排序后的点云序列中排列于目标点之前的maxNumOfNeighbours(邻近点最大数量)个点中查找与目标点距离(例如可以是前述提及的曼哈顿距离或欧氏距离)最近的Q个点作为邻近点,maxNumOfNeighbours是指查找邻近点时需查找的点的最大数量,例如,maxNumOfNeighbours的取值可以为128,Q的数量可以取值为3。第二种,如图6所示,可以对分组处理得到的点云分组中的各个点进行点云分块,具体点云分块方式可参见前文描述,图6所示的体积较大的块可以称为点云父块,体积较小的块可以称为点云子块;然后可以在目标点(例如图6中的P点)所属的点云子块(例如图6所示的B块)以及与目标点所属的点云子块共面、共线以及共点的邻居点云子块(例如图6示出了B块的七个邻居点云子块)中,查找与目标点距离(例如可以是前述提及的曼哈顿距离或欧氏距离)最近的Q个点作为邻近点。
还需说明的是,Q个邻近点与目标点之间的几何关系可以是指Q个邻近点与目标点之间的距离;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值的过程可以包括:根据Q个邻近点中的每个邻近点与目标点之间的距离,确定Q个邻近点的权重,根据Q个邻近点的权重对Q个邻近点的重建属性信息加权求和,得到目标点的预测属性信息。根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值的过程可参见下述公式5-公式7:
d=|xi-xij|+|yi-yij|+|zi-zij| 公式7
在此可以将目标点可以表示为第i点,目标点的Q个关联点中的任一个关联点可以表示为第j关联点,i为正整数,j为小于或等于Q的正整数;基于此,对上述公式5-公式7中的参数进行解释:表示第i点的预测属性信息;wij表示第j关联点的权重;/>表示第j关联点的重建属性信息;d表示第i点和第j关联点之间的距离(此处以曼哈顿距离为例进行说明);(xi,yi,zi)表示第i点的几何信息,即第i点的三维坐标;(xij,yij,zij)表示第j关联点的几何信息,即第j关联点的三维坐标。
s12,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息的方式可以包括以下四种情况中的任一种:
(1)当目标点是目标点云分组中的任一个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:可以将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性信息,该统一的预测属性信息为目标点的预测属性信息。
(2)当目标点是目标点云分组中的任一个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与所述目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息。
其中,其他点与目标点之间的几何关系可以是指其他点与目标点之间的距离;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息的过程可以包括:根据各个其他点与目标点之间的距离,确定各个其他点的权重,任一个其他点的权重可以是该其他点与目标点的举例的倒数;根据各个其他点的权重对各个其他点的预测属性信息加权求和,得到目标点的预测属性信息。
(3)当目标点是目标点云分组中的任意多个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:将多个目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性信息,该统一的预测属性信息为多个目标点的预测属性信息的平均值。
(4)当对目标点云分组进行分组处理得到的P个点云子分组中的每个点云子分组中包含目标点时,可以将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。也就是说,点云子分组采用统一的预测属性信息,该统一的预测属性信息为该点云子分组中的目标点的预测属性信息。举例来说,目标点云分组中包括点A、点B、点C、点D和点E共五点,点A和点B属于点云子分组1,点C和点D属于点云子分组2,点E属于点云子分组3,可以将点A、点C和点E确定为目标点,确定点A、点C和点E的预测属性信息,然后将点A的预测属性信息确定为点B的预测属性信息,将点C的预测属性信息确定为点D的预测属性信息。
除上述子步骤s11-子步骤s12外,按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,还可以包括:分别确定目标点云分组中各点的预测属性信息,确定目标点云分组中的任一点的预测属性信息的过程,与上述子步骤s11中确定目标点的预测属性信息的方式相同,具体可参见上述子步骤s11的描述,在此不再赘述。
此外,当目标点云分组的属性解码模式为组内属性解码模式时,属性解码模式可以包括多种组内属性解码模式,可以统计目标点云分组中包含的点的数量,若点的数量大于第二数量阈值,则可以确定目标点云分组的属性解码模式为第一组内属性解码模式,若点的数量小于或等于第二数量阈值,则可以确定目标点云分组的属性编码模式为第二组内属性解码模式,第一组内属性解码模式与第二组内属性解码模式不相同。举例来说,若点的数量大于第二数量阈值,可以分别确定目标点云分组中各点的预测属性信息,若点的数量小于或等于第二数量阈值,则可以采用上述(1)-(4)中任一种组内属性解码模式确定目标点云分组中各点的预测属性信息。
S504,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息。
S505,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数。
S506,对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息。
S507,根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
需要说明的是,若本申请实施例采用属性预测解码的方式,则本申请实施例的点云解码方法可以包括步骤S501-步骤S504以及步骤S507。若本申请实施例采用属性预测变换解码的方式,则本申请实施例的点云解码方法可以包括步骤S501-步骤S503以及步骤S505-步骤S507。若本申请实施例采用进行变换判定的属性解码方式,则当目标点云分组满足变换条件时,本申请实施例的点云解码方法可以包括步骤S501-步骤S503以及步骤S505-步骤S507;当目标点云分组不满足变换条件时,本申请实施例的点云解码方法可以包括步骤S501-步骤S504以及步骤S507。另外,本申请实施例中步骤S507的执行过程与上述图3所示实施例中步骤S305的执行过程相同,具体可参见上述图3所示实施例中步骤S305的执行过程,在此不再赘述。
本申请实施例中,可以基于目标点云分组与目标点云分组的关联点云分组之间的几何关系,确定目标点云分组的属性解码模式,这样可以为目标点云分组确定出适合其进行属性预测的属性解码模式,可以提升对目标点云分组中各点进行属性预测的准确性和预测效率。
本申请实施例提供一种点云编码方法,该点云编码方法主要介绍点云属性编码的整体流程、点云数据的分组方式、目标点云分组的属性编码模式的确定过程、目标点云分组的属性预测过程以及点云属性编码中的变换判定,该点云编码方法可以由点云属性编解码系统20中的编码设备201执行。如图7所示,该点云编码方法可以包括以下步骤S701至步骤S705:
S701,获取待编码的目标点云分组。
由前述内容可知,本申请实施例提供的点云属性编码方案可以是以点云分组为编码单位对待编码到的点云数据进行编码得到的,因此对待编码的点云数据进行分组处理,待编码的目标点云分组可以是对待编码的点云数据进行分组处理得到的任一个点云分组。
在此对待编码的点云数据进行分组处理的方式进行介绍,对待编码的点云数据进行分组处理可以包括但不限于以下任一种:
(1)重复点截断的点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:若当前待编码的点为重复点,则对当前待编码的点的一个或多个前序点按照既定规则进行分组处理。对当前待编码的点的一个或多个前序点按照既定规则进行分组处理可以包括以下两种情况中的任一种:第一种情况,若当前待编码的点的前序点中不存在重复点,即当前待编码的点为待编码的点云数据中的第一个重复点,则可以对当前待编码的点的一个或多个前序点按照既定规则进行分组处理。第二种情况,若当前待编码的点的前序点中存在一个或多个重复点,即当前待编码的点非待编码的点云数据中的第一个重复点,则可以对位于当前待编码的点和当前待编码的点的前一个重复点之间的当前待编码的点的一个或多个前序点进行分组处理。
其中,当前待编码的点的前序点可以是指编码顺序位于当前待编码的点之前的点。当前待编码的点为重复点可以是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点与前序点的几何信息相同可以是指:前待编码的点的三维坐标与前序点的三维坐标相同,即前待编码的点与前序点在三维空间中重合。既定规则可以是指分组规则,该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量);排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
(2)重复点不计入分组的定量点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:若当前待编码的点为重复点,则跳过当前待编码的点,将编码顺序位于当前待编码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待编码的点的数量达到分组数量阈值。
其中,当前待编码的点的前序点可以是指编码顺序位于当前待编码的点之前的点。当前待编码的点为重复点可以是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点与前序点的几何信息相同可以是指:前待编码的点的三维坐标与前序点的三维坐标相同,即前待编码的点与前序点在三维空间中重合。任一个待编码的点为非重复点可以是指该待编码的点与该待编码的点的所有前序点的几何信息均不相同。分组数量阈值可以是指当前点云分组允许容纳的点的最大数量。
(3)重复点计入分组的定量点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:若当前待编码的点为重复点,则将当前待编码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将编码顺序位于当前待编码的点之后的待编码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值。
其中,当前待编码的点的前序点可以是指编码顺序位于当前待编码的点之前的点。当前待编码的点为重复点可以是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点与前序点的几何信息相同可以是指:前待编码的点的三维坐标与前序点的三维坐标相同,即前待编码的点与前序点在三维空间中重合。分组数量阈值可以是指当前点云分组允许容纳的点的最大数量。
(4)重复点计入分组的点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:若当前待编码的点为重复点,则可以对重复点进行分组处理。其中,当前待编码的点的前序点可以是指编码顺序位于当前待编码的点之前的点。当前待编码的点为重复点可以是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点与前序点的几何信息相同可以是指:前待编码的点的三维坐标与前序点的三维坐标相同,即前待编码的点与前序点在三维空间中重合。也就是说,该点云分组方式将重复点计入分组,但是该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量),即上述(3)描述的方案;排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
(5)重复点数量判定的点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:若当前待编码的点为重复点,且已统计的重复点数量大于第一数量阈值,则可以不对当前待编码的点进行分组处理;若当前待编码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则可以对当前待编码的点进行分组处理。
其中,当前待编码的点的前序点可以是指编码顺序位于当前待编码的点之前的点。当前待编码的点为重复点可以是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点与前序点的几何信息相同可以是指:前待编码的点的三维坐标与前序点的三维坐标相同,即前待编码的点与前序点在三维空间中重合。已统计的重复点数量可以是指:当前待编码的点的前序点中存在的重复点的数量加1(即加上当前待编码的点)后的数量。
也就是说,该点云分组方式在当前待编码的点是重复点且已统计的重复点数量大于第一数量阈值时,可以将当前待编码的点不计入点云分组,在当前待编码的点是重复点且已统计的重复点数量小于或等于第一数量阈值时,可以将当前待编码的点计入点云分组。并且,该点云分组方式不对分组规则进行限定,例如分组规则可以包括但不限于以下任一种:设置每个点云分组的分组数量阈值(分组数量阈值是指每个点云分组允许容纳的点的最大数量);排列于奇数位置的点划分为一个点云分组,排列于偶数位置的点划分为一个点云分组;等等。
(6)基于相似排序码的点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:首先,可以对各个待编码的点进行重排序(已重排序的各个待编码的点可以忽略此步骤);然后,可以将排序码后L位相同的点划分为一个点云分组。
(7)基于排序码移位的点云分组方式。详细来说,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码,对待编码的点云数据进行分组处理的过程,可以包括:对各个待编码的点进行重排序(已重排序的待编码的点可以忽略此步骤);对各个待编码的点的排序码(例如可以是上述的希尔伯特码)进行基于目标移动位数的移位处理(例如可以是右移处理);将具有相同的移位处理后的排序码的待编码的点划分为一个点云块,重复点不计入点云块;针对任一个点云块,若该点云块中包含的待编码的点的数量小于或等于分组数量阈值,则可以将该点云块确定为一个点云分组;若该点云块中包含的待编码的点的数量大于分组数量阈值,则可以按照分组数量阈值对该点云块进行分组处理。
上述(1)-(7)描述的点云分组方式中与解码阶段类似,具体可以参见解码阶段的具体描述,对于重复点不计入点云分组的点云分组方式而言,可以使得相似的点更为集中,在编码过程中可以减少重复信息的编码,有利于提升编码效率。对于重复点计入点云分组的点云分组方式而言,待编码的点云数据中存在的重复点的数量一般都比较少(如上述提及的已统计的重复点数量小于或等于第一数量阈值),对编码效率产生的影响较小。
S702,获取目标点云分组的属性编码模式。
目标点云分组中可以包括一个或多个待编码的点,在获取到待编码的目标点云分组之后,可以获取目标点云分组的属性编码模式,属性编码模式是指在目标点云分组的编码阶段用于预测目标点云分组中各点的预测属性值的方法或策略,属性编码模式可以包括组内属性编码模式或组间属性编码模式。其中,组内属性编码模式可以是指:根据目标点云分组中的目标点的预测属性信息,确定目标点云分组中除目标点之外的其他点的预测属性信息的属性编码模式,目标点的数量可以为一个或多个;或者可以是指:分别确定目标点云分组中各点的预测属性信息的属性编码模式。组间属性编码模式可以是指:根据目标点云分组的关联点云分组中各点的重建属性信息,确定目标点云分组中各点的预测属性信息的属性编码模式。
需要说明的是,对待编码的点云数据进行分组处理得到的任一两个点云分组的属性编码模式可以是相同的,也可以是不同的。例如,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;对待编码的点云数据进行分组处理还可以得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组,即目标点云分组和第一点云分组是对待编码的点云数据进行分组处理得到的任意两个点云分组;第一点云分组的属性编码模式与目标点云分组的属性编码模式不同;或者,第一点云分组的属性编码模式与目标点云分组的属性编码模式相同。
下面提供两种确定目标点云分组的属性编码模式的方式:
(1)RDO(Rate-Distortion Optimization,率失真优化)方式。获取目标点云分组的属性编码模式,可以包括:首先,可以按照组间属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组间属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组间属性编码模式下的预测属性信息进行编码处理,得到第一编码信息。然后,可以按照组内属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组内属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组内属性编码模式下的预测属性信息进行编码处理,得到第二编码信息。若第一编码信息大于或等于第二编码信息,则确定目标点云分组的属性编码模式为组内属性编码模式;若第一编码信息小于所述第二编码信息,则确定目标点云分组的属性编码模式为组间属性编码模式。
其中,第一编码信息可以用于衡量对目标点云分组中各点在组间属性编码模式下的预测属性信息进行编码的编码效果,第一编码信息越小,编码效果越好;第二编码信息可以用于衡量对目标点云分组中各点在组内属性编码模式下的预测属性信息进行编码的编码效果,第二编码信息越小,编码效果越好。也就是说,RDO方式直接对目标点云分组中各点在组内属性编码模式和组间属性编码模式下的预测属性信息进行编码,并将编码效果好的属性编码模式确定为目标点云分组的属性编码模式。
(2)组间相似度方式。获取目标点云分组的属性编码模式,可以包括:从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性编码模式为组间属性编码模式;若组间相似度小于或等于相似度阈值,则确定目标点云分组的属性编码模式为组内属性编码模式。
其中,组间相似度可以包括以下任一种或两种:组间属性相似度或组间几何相似度。组间属性相似度可以是根据目标点云分组中各点的真实属性信息与M个关联点云分组中各点的真实属性信息计算得到的;例如,可以计算目标点云分组中每个点的真实属性信息与M个关联点云分组中各点的真实属性信息的差值,然后可以对目标点云分组中各点的差值求和,并将差值求和后的倒数确定为组间属性相似度;组间属性相似度数值越大,表明目标点云分组与M个关联点云分组的相似度越高。组间几何相似度可以是根据目标点云分组中各点的几何信息与M个关联点云分组中各点的几何信息计算得到的;例如可以根据目标点云分组中每个点的几何信息与M个关联点云分组中各点的几何信息,计算目标点云分组中每个点与M个关联点云分组中各点之间的距离,然后可以对目标点云分组中各点的距离求和,并将距离求和后的倒数确定为组间几何相似度;组间几何相似度数值越大,表明目标点云分组与M个关联点云分组的相似度越高。
也就是说,组间相似度方式通过目标点云分组与目标点云分组的关联点云分组之间的相似度选择目标点云分组的属性编码模式;目标点云分组与关联点云分组之间的相似度高时,可以采用组间属性编码模式作为目标点云分组的属性编码模式;目标点云分组与关联点云分组之间的相似度低时,可以采用组间属性编码模式作为目标点云分组的属性编码模式。
S703,按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息。
当目标点云分组的属性编码模式为组间属性编码模式时,按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,具体可以包括以下两种中的任一种:
(1)从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;然后可以将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性值,该统一的预测属性值是M个关联点云分组中各点的重建属性信息的平均值。其中,M个关联点云分组中任一个点的重建属性信息是根据该点的预测属性信息和该点的重建残差信息确定的;此处采用M个关联点云分组中各点的重建属性信息确定目标点云分组中各点的预测属性信息,而不是采用M个关联点云分组中各点的真实属性信息确定目标点云分组中各点的预测属性信息,这样处理的目的是为了保证编解码过程的一致性,因为解码过程中无法获取到M个关联点云分组中各点的真实属性信息。
(2)从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;然后可以在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。也就是说,目标点云分组中任一点的预测属性系信息是根据该点的关联点的重建属性信息确定的。
其中,目标点云分组中任一点的关联点可以是M个关联点云分组中与该点距离相近的一个或多个点。当目标点云分组中任一点(例如可以表示为第i点,i为正整数)的关联点可以是M个关联点云分组中与该任一点距离相近的一个点时,该第i点的预测属性信息等于该一个关联点的重建属性信息。当目标点云分组中任一点(例如可以表示为第i点,i为正整数)的关联点可以是M个关联点云分组中与该第i点距离相近的多个点时,该第i点的预测属性信息等于该多个关联点的重建属性信息的平均值或加权平均值,任一个关联点的权重可以是根据该关联点与该第i点之间的距离确定的,例如可以是该关联点与该第i点之间的距离的倒数。
当目标点云分组的属性编码模式为组内属性编码模式时,按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,可以包括以下子步骤s11-子步骤s12:
s11,确定目标点云分组中的目标点的预测属性信息。
在一种实现方式中,目标点可以是目标点云分组中的任一个或多个点,例如目标点可以是目标点云分组中排列于首位的点,或者可以是目标点云分组中排列于末位的点,或者可以是目标点云分组中排列于首位的点和排列于末位的点。
在另一种实现方式中,可以对目标点云分组进行进一步分组处理,得到P个点云子分组,P为大于或等于2的整数;可以从P个点云子分组的每个点云子分组中选择一个点作为目标点,也就是说,P个点云子分组中的每个点云子分组中包含一个目标点,例如每个点云子分组中的目标点可以是每个点云子分组中的排列于首位的点。
在上述两种实现方式中,确定目标点的预测属性信息的方式可以包括以下两种情况中的任一种:
(1)将目标点云分组中编码顺序位于目标点的相邻点的重建属性信息,确定为目标点的预测属性信息。例如目标点云分组中的目标点可以表示为第i点,第i点的预测属性信息可以是根据第i-1点的重建属性信息确定的,i为大于1的整数。
(2)在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;所述Q个邻近点是对待编码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
s12,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息的方式可以包括以下四种情况中的任一种:
(1)当目标点是目标点云分组中的任一个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:可以将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性信息,该统一的预测属性信息为目标点的预测属性信息。
(2)当目标点是目标点云分组中的任一个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与所述目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息。
其中,其他点与目标点之间的几何关系可以是指其他点与目标点之间的距离;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息的过程可以包括:根据各个其他点与目标点之间的距离,确定各个其他点的权重,任一个其他点的权重可以是该其他点与目标点的举例的倒数;根据各个其他点的权重对各个其他点的预测属性信息加权求和,得到目标点的预测属性信息。
(3)当目标点是目标点云分组中的任意多个点时,根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息,具体可以包括:将多个目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。也就是说,目标点云分组中各点采用统一的预测属性信息,该统一的预测属性信息为多个目标点的预测属性信息的平均值。
(4)当对目标点云分组进行分组处理得到的P个点云子分组中的每个点云子分组中包含目标点时,可以将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。也就是说,点云子分组采用统一的预测属性信息,该统一的预测属性信息为该点云子分组中的目标点的预测属性信息。
除上述子步骤s11-子步骤s12外,按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息的过程,还可以包括:分别确定目标点云分组中各点的预测属性信息,确定目标点云分组中的任一点的预测属性信息的过程,与上述子步骤s11中确定目标点的预测属性信息的方式相同,具体可参见上述子步骤s11的描述,在此不再赘述。
此外,当目标点云分组的属性编码模式为组内属性编码模式时,属性编码模式可以包括多种组内属性编码模式,可以统计目标点云分组中包含的点的数量,若点的数量大于第二数量阈值,则可以确定目标点云分组的属性编码模式为第一组内属性编码模式,若点的数量小于或等于第二数量阈值,则可以确定目标点云分组的属性编码模式为第二组内属性编码模式,第一组内属性编码模式与第二组内属性编码模式不相同。举例来说,若点的数量大于第二数量阈值,可以分别确定目标点云分组中各点的预测属性信息,若点的数量小于或等于第二数量阈值,则可以采用上述(1)-(4)中任一种组内属性编码模式确定目标点云分组中各点的预测属性信息。
S704,根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息。
在确定目标点云分组中各点的预测属性信息和真实属性信息之后,可以根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息,目标点云分组中任一点的预测残差信息可以等于该点的真实属性信息与该点的预测属性信息之差。
S705,基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组。
基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组可以包括以下任一种情况:
(1)属性预测编码。在属性预测编码方式中,基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组,可以包括:对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码。其中,对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组,具体可以包括:对目标点云分组中各点的预测残差信息进行量化处理,得到目标点云分组中各点的残差量化值;对目标点云分组中各点的残差量化值进行编码处理(例如可以是熵编码处理),得到目标点云分组中各点的属性编码。
(2)属性预测变换编码。在属性预测变换编码方式中,基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组,可以包括:对目标点云分组中各点的预测残差信息进行变换处理(即前述提及的第二变换处理),得到目标点云分组中各点的残差变换系数;对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码。其中,对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组,具体可以包括:对目标点云分组中各点的残差变换系数进行量化处理,得到目标点云分组中各点的残差量化值;对目标点云分组中各点的残差量化值进行编码处理(例如可以是熵编码处理),得到目标点云分组中各点的属性编码。第二变换处理例如可以是对目标点云分组中各点的预测残差信息进行前述提及的DCT处理。
(3)进行变换判定的属性编码。在上述(1)中,可以直接对目标点云分组进行属性预测编码处理,得到目标点云分组中各点的属性编码,在上述(2)中,可以直接对目标点云分组进行属性预测变换编码处理,得到目标点云分组中各点的属性编码。基于此,提出一种进行变换判定的属性编码,即增加对目标点云分组的变换判定过程,判定目标点云分组应该采用上述(1)中的属性预测编码,或应该采用上述(2)中的属性预测变换编码。详细来说,可以对目标点云分组进行变换判定;若目标点云分组满足变换条件,则可以对目标点云分组中各点的预测残差信息进行变换处理(即前述提及的第二变换处理),得到目标点云分组中各点的残差变换系数;对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码,即上述(2);若目标点云分组不满足变换条件,则可以对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组,即得到目标点云分组中各点的属性编码,即上述(1)。
其中,目标点云分组满足变换条件可以包括以下任一种:目标点云分组中包含的点的数量满足数量条件;例如目标点云分组中包含的点的数量大于或等于变换数量阈值,目标点云分组中包含的点的数量为奇数(或偶数)等等。或者,目标点云分组中各点的预测残差信息的分布满足分布条件,例如目标点云分组中各点的预测残差信息中的最大预测残差信息与最小预测残差信息之间的差值小于或等于分布阈值,目标点云分组中各点的预测残差信息的方差小于或等于方差阈值等等。
目标点云分组不满足变换条件可以包括以下任一种:目标点云分组中包含的点的数量不满足数量条件;例如目标点云分组中包含的点的数量小于变换数量阈值,目标点云分组中包含的点的数量为偶数(或奇数)等等。或者,目标点云分组中各点的预测残差信息的分布满足不分布条件,例如目标点云分组中各点的预测残差信息中的最大预测残差信息与最小预测残差信息之间的差值大于分布阈值,目标点云分组中各点的预测残差信息的方差大于方差阈值等等。
本申请实施例中,在对待编码的点云数据进行分组处理的过程中,可以将重复点不计入分组,这样可以减少重复信息的编码,使得相似的点更为集中,有利于提升编码效率。并且,对待编码的点云数据进行分组处理得到的任意两个点云分组的属性编码模式可以是不同的,通过在不同的点云分组中设计差异化的属性编码模式,可以保证对点云分组进行属性预测的准确性。另外,在目标点云分组满足变换条件时可以对目标点云分组中各点的预测残差信息进行变换处理,这样可以使得目标点云分组中各点的预测残差信息的分布发生改变,残差变换系数向低频方向集中,达到减少有效数据量的目的,有利于编码,提升编码效率。此外,可以基于目标点云分组与目标点云分组的关联点云分组之间的几何关系,确定目标点云分组的属性预测模式,也可以根据目标点云分组在不同属性预测模式下的编码效果确定目标点云分组的属性预测模式,这样可以为目标点云分组确定出适合其进行属性预测的属性编码模式,可以提升对目标点云分组中各点进行属性预测的准确性
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图8,图8是本申请实施例提供的一种点云解码装置的结构示意图,该点云解码装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的解码设备;在一些实施例中,该点云解码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该点云解码装置可以用于执行图3或图5所示的方法实施例中的相应步骤。请参见图8,该点云解码装置可以包括如下单元:
获取单元801,用于获取待解码的目标点云分组和目标点云分组的属性解码模式,目标点云分组中包括一个或多个待解码的点;
处理单元802,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息;根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
在一种实现方式中,处理单元802,用于对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息时,具体用于执行如下步骤:
对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息;或者,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,并对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息。
在一种实现方式中,处理单元802,还用于执行如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的重建残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;对待解码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性解码模式与目标点云分组的属性解码模式不同;或者,第一点云分组的属性解码模式与目标点云分组的属性解码模式相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元802,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对当前待解码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元802,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤
若当前待解码的点为重复点,则跳过当前待解码的点,将解码顺序位于当前待解码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待解码的点的数量达到分组数量阈值;其中,任一个待解码的点为非重复点是指待解码的点与待解码的点的前序点的几何信息均不相同;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;待解码的点的前序点是指解码顺序位于待解码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元802,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则将当前待解码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将解码顺序位于当前待解码的点之后的待解码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元802,用于对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对重复点进行分组处理;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;处理单元802,用于对待解码的点云数据进行分组处理的过程时,具体用于执行如下步骤:
若当前待解码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待解码的点进行分组处理;若当前待解码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待解码的点进行分组处理。
在一种实现方式中个,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性解码模式为组间属性解码模式;处理单元802,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性解码模式为组内属性解码模式;处理单元802,用于按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;处理单元802,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,处理单元802,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;
处理单元802,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的解码顺序依次被解码;目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;处理单元802,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中解码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待解码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性解码模式包括多种组内属性解码模式;处理单元802,还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性解码模式为第一组内属性解码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性解码模式为第二组内属性解码模式,第一组内属性解码模式与第二组内属性解码模式不相同。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;属性解码模式包括组间属性解码模式或组内属性解码模式;获取单元801,用于获取目标点云分组的属性解码模式时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性解码模式为组间属性解码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性解码模式为组内属性解码模式。
根据本申请的另一个实施例,图8所示的点云解码装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,点云解码装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的点云解码装置,以及来实现本申请实施例的点云解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,在获取到待解码的点云分组和该点云分组的属性解码模式后,可以按照该点云分组的属性解码模式对该点云分组中各点进行属性预测,得到该点云分组中各点的预测属性信息,以及可以对该点云分组中各点进行属性解码处理,以得到该点云分组中各点的重建残差信息,然后可以根据该点云分组中各点的预测属性信息以及重建残差信息,确定该点云分组中各点的重建属性信息。由上述内容可知,本申请实施例以组为单位进行属性预测,获取的点云分组的属性解码模式可以适用于对该点云分组中各点进行属性预测,这样可以提高点云属性的预测效率,进而可以提高点云属性的解码效率;另外,本申请实施例对点云分组中各点进行属性解码处理最终得到的是该点云分组中各点的重建残差信息,而不是重建属性信息,这样可以减少属性解码处理时解码的数据量,进一步提高点云属性的解码效率。
请参见图9,图9是本申请实施例提供的一种点云编码装置的结构示意图,该点云编码装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的编码设备;在一些实施例中,该点云编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该点云编码装置可以用于执行图7所示的方法实施例中的相应步骤。请参见图8,该点云编码装置可以包括如下单元:
获取单元901,用于获取待编码的目标点云分组和目标点云分组的属性编码模式,目标点云分组中包括一个或多个待编码的点;
处理单元902,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息;基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,处理单元902,用于基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组时,具体用于执行如下步骤:
对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组;或者,对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数;对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,处理单元902,还用于执行如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的预测残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;对待编码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性编码模式与目标点云分组的属性编码模式不同;或者,第一点云分组的属性编码模式与目标点云分组的属性编码模式相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元902,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对当前待编码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元902,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则跳过当前待编码的点,将编码顺序位于当前待编码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待编码的点的数量达到分组数量阈值;其中,任一个待编码的点为非重复点是指待编码的点与待编码的点的前序点的几何信息均不相同;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;待编码的点的前序点是指编码顺序位于待编码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元902,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则将当前待编码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将编码顺序位于当前待编码的点之后的待编码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元902,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对重复点进行分组处理;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;处理单元902,用于对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待编码的点进行分组处理;若当前待编码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待编码的点进行分组处理。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性编码模式为组间属性编码模式;处理单元902,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性编码模式为组内属性编码模式;处理单元902,用于按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;处理单元902,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,处理单元902,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;
处理单元902,用于根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的编码顺序依次被编码;目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;处理单元902,用于确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中编码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待编码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待编码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性编码模式包括多种组内属性编码模式;处理单元902,还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性编码模式为第一组内属性编码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性编码模式为第二组内属性编码模式,第一组内属性编码模式与第二组内属性编码模式不相同。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;属性编码模式包括组间属性编码模式或组内属性编码模式;获取单元901,用于获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性编码模式为组间属性编码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性编码模式为组内属性编码模式。
在一种实现方式中,属性编码模式包括组间属性编码模式或组内属性编码模式;获取单元901,用于获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
按照组间属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组间属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组间属性编码模式下的预测属性信息进行编码处理,得到第一编码信息;按照组内属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组内属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组内属性编码模式下的预测属性信息进行编码处理,得到第二编码信息;若第一编码信息大于或等于第二编码信息,则确定目标点云分组的属性编码模式为组内属性编码模式;若第一编码信息小于第二编码信息,则确定目标点云分组的属性编码模式为组间属性编码模式。
根据本申请的另一个实施例,图9所示的点云编码装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,点云编码装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图7所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图9中所示的点云编码装置,以及来实现本申请实施例的点云编码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,在获取到待编码的点云分组和该点云分组的属性编码模式后,可以按照该点云分组的属性编码模式对该点云分组中各点进行属性预测,得到该点云分组中各点的预测属性信息,该点云分组中各点的预测属性信息可以用于确定该点云分组中各点的预测残差信息,基于该点云分组中各点的预测残差信息对该点云分组中各点进行属性编码处理,可以得到编码后的该点云分组。由上述内容可知,本申请实施例以组为单位进行属性预测,获取的点云分组的属性编码模式可以适用于对该点云分组中的各个点进行属性预测,这样可以提高点云属性的预测效率,进而可以提高点云属性的编码效率;另外,本申请实施例基于点云分组中各点的预测残差信息便可以对该点云分组中各点进行属性编码处理,而不需要对点云分组中各点的真实属性信息进行属性编码处理,这样可以减少属性编码处理时编码的数据量,进一步提高点云属性的编码效率。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的解码设备或编码设备。请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。图10所示的计算机设备至少包括处理器1001、输入接口1002、输出接口1003以及计算机可读存储介质1004。其中,处理器1001、输入接口1002、输出接口1003以及计算机可读存储介质1004可通过总线或其他方式连接。
输入接口1002可以用于获取待解码的目标点云分组,获取目标点云分组的属性解码模式,获取待解码的目标点云分组,获取目标点云分组的属性编码模式等;输出接口1003可以用于输出输出编码后的目标点云分组或解码后的目标点云分组。
计算机可读存储介质1004可以存储在计算机设备的存储器中,计算机可读存储介质1004用于存储计算机程序,计算机程序包括计算机指令,处理器1001用于执行计算机可读存储介质1004存储的程序指令。处理器1001(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,可由处理器1001加载并执行计算机可读存储介质1004中存放的一条或多条计算机指令,以实现上述有关图3或图5所示的点云解码方法的相应步骤。具体实现中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行如下步骤:
获取待解码的目标点云分组和目标点云分组的属性解码模式,目标点云分组中包括一个或多个待解码的点;按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息;根据目标点云分组中各点的预测属性信息和重建残差信息,确定目标点云分组中各点的重建属性信息。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对目标点云分组中各点进行属性解码处理,以得到目标点云分组中各点的重建残差信息时,具体用于执行如下步骤:
对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建残差信息;或者,对目标点云分组中各点进行属性解码处理,得到目标点云分组中各点的重建变换系数,并对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行还用于如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的重建变换系数进行反变换处理,得到目标点云分组中各点的重建残差信息的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的重建残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;对待解码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性解码模式与目标点云分组的属性解码模式不同;或者,第一点云分组的属性解码模式与目标点云分组的属性解码模式相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对当前待解码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则跳过当前待解码的点,将解码顺序位于当前待解码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待解码的点的数量达到分组数量阈值;其中,任一个待解码的点为非重复点是指待解码的点与待解码的点的前序点的几何信息均不相同;当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;待解码的点的前序点是指解码顺序位于待解码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则将当前待解码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将解码顺序位于当前待解码的点之后的待解码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待解码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待解码的点为重复点,则对重复点进行分组处理;其中,当前待解码的点为重复点是指当前待解码的点与当前待解码的点的任一个前序点的几何信息相同;当前待解码的点的前序点是指解码顺序位于当前待解码的点之前的点。
在一种实现方式中,待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待解码的点云数据进行分组处理的过程时,具体用于执行如下步骤:
若当前待解码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待解码的点进行分组处理;若当前待解码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待解码的点进行分组处理。
在一种实现方式中个,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性解码模式为组间属性解码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性解码模式为组内属性解码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行按照目标点云分组的属性解码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的解码顺序依次被解码;目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中解码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待解码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待解码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性解码模式包括多种组内属性解码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性解码模式为第一组内属性解码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性解码模式为第二组内属性解码模式,第一组内属性解码模式与第二组内属性解码模式不相同。
在一种实现方式中,目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;属性解码模式包括组间属性解码模式或组内属性解码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行获取目标点云分组的属性解码模式时,具体用于执行如下步骤:
从对待解码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待解码的点云数据进行分组处理得到的点云分组中解码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性解码模式为组间属性解码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性解码模式为组内属性解码模式。
在另一个实施例中,可由处理器1001加载并执行计算机可读存储介质1004中存放的一条或多条计算机指令,以实现上述有关图7所示的点云编码方法的相应步骤。具体实现中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行如下步骤:
获取待编码的目标点云分组和目标点云分组的属性编码模式,目标点云分组中包括一个或多个待编码的点;按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息;根据目标点云分组中各点的预测属性信息和真实属性信息,确定目标点云分组中各点的预测残差信息;基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行基于目标点云分组中各点的预测残差信息对目标点云分组中各点进行属性编码处理,得到编码后的目标点云分组时,具体用于执行如下步骤:
对目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的目标点云分组;或者,对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数;对目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的目标点云分组。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并还用于执行如下步骤:
对目标点云分组进行变换判定;若目标点云分组满足变换条件,则触发执行对目标点云分组中各点的预测残差信息进行变换处理,得到目标点云分组中各点的残差变换系数的步骤;其中,目标点云分组满足变换条件包括以下任一种:目标点云分组中包含的点的数量满足数量条件,或者目标点云分组中各点的预测残差信息的分布满足分布条件。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;对待编码的点云数据进行分组处理还得到第一点云分组,第一点云分组是除目标点云分组外的任一个点云分组;第一点云分组的属性编码模式与目标点云分组的属性编码模式不同;或者,第一点云分组的属性编码模式与目标点云分组的属性编码模式相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对当前待编码的点的一个或多个前序点按照既定规则进行分组处理;其中,当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则跳过当前待编码的点,将编码顺序位于当前待编码的点之后的非重复点添加至当前点云分组中,直至当前点云分组中包含的待编码的点的数量达到分组数量阈值;其中,任一个待编码的点为非重复点是指待编码的点与待编码的点的前序点的几何信息均不相同;当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;待编码的点的前序点是指编码顺序位于待编码的点之前的点;分组数量阈值是指当前点云分组允许容纳的点的最大数量。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则将当前待编码的点添加至当前点云分组中;若当前点云分组中包含的点的数量未达到分组数量阈值,则将编码顺序位于当前待编码的点之后的待编码的点添加至当前点云分组中,直至当前点云分组中包含的点的数量达到分组数量阈值;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,则对重复点进行分组处理;其中,当前待编码的点为重复点是指当前待编码的点与当前待编码的点的任一个前序点的几何信息相同;当前待编码的点的前序点是指编码顺序位于当前待编码的点之前的点。
在一种实现方式中,待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行对待编码的点云数据进行分组处理时,具体用于执行如下步骤:
若当前待编码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对当前待编码的点进行分组处理;若当前待编码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对当前待编码的点进行分组处理。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;目标点云分组的属性编码模式为组间属性编码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;将M个关联点云分组中各点的重建属性信息的平均值,确定为目标点云分组中各点的预测属性信息;或者,在M个关联点云分组中确定目标点云分组中各点的关联点;根据目标点云分组中各点的关联点的重建属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点云分组的属性编码模式为组内属性编码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行按照目标点云分组的属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
分别确定目标点云分组中各点的预测属性信息;或者,确定目标点云分组中的目标点的预测属性信息;根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息。
在一种实现方式中,目标点是目标点云分组中的任一个或多个点;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行根据目标点的预测属性信息,确定目标点云分组中各点的预测属性信息时,具体用于执行如下步骤:
当目标点是目标点云分组中的任一个点时,将目标点的预测属性信息确定为目标点云分组中各点的预测属性信息;或者,当目标点是目标点云分组中的任一个点时,确定目标点云分组中除目标点外的其他点与目标点之间的几何关系;根据其他点与目标点之间的几何关系以及目标点的预测属性信息,确定其他点的预测属性信息;或者,当目标点是目标点云分组中的任意多个点时,将目标点的预测属性信息的平均值确定为目标点云分组中各点的预测属性信息。
在一种实现方式中,计算机可读存储介质1004中的计算机指令由处理器1001加载并执行确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
对目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从P个点云子分组的每个点云子分组中选择一个点作为目标点,并确定目标点的预测属性信息;将P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
在一种实现方式中,目标点云分组中各点按照各自的编码顺序依次被编码;目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行确定目标点云分组中的目标点的预测属性信息时,具体用于执行如下步骤:
将目标点云分组中编码顺序位于目标点之前的相邻点的重建属性信息,确定为目标点的预测属性信息;或者,在对待编码的点云数据进行分组处理得到的点云分组中确定目标点的Q个邻近点,Q为正整数;确定Q个邻近点与目标点之间的几何关系;根据Q个邻近点与目标点之间的几何关系以及Q个邻近点的重建属性信息,确定目标点的预测属性值;Q个邻近点是对待编码的点云数据进行分组处理得到的点云分组中与目标点几何相近的Q个点。
在一种实现方式中,属性编码模式包括多种组内属性编码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并还用于执行如下步骤:
统计目标点云分组包含的点的数量;若点的数量大于第二数量阈值,则确定目标点云分组的属性编码模式为第一组内属性编码模式;若点的数量小于或等于第二数量阈值,则确定目标点云分组的属性编码模式为第二组内属性编码模式,第一组内属性编码模式与第二组内属性编码模式不相同。
在一种实现方式中,目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;属性编码模式包括组间属性编码模式或组内属性编码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
从对待编码的点云数据进行分组处理得到的点云分组中确定目标点云分组的M个关联点云分组,M个关联点云分组是对待编码的点云数据进行分组处理得到的点云分组中编码顺序位于目标点云分组之前的M个相邻点云分组,M为正整数;计算目标点云分组与M个关联点云分组之间的组间相似度;若组间相似度大于相似度阈值,则确定目标点云分组的属性编码模式为组间属性编码模式;若组间相似度阈值小于或等于相似度阈值,则确定目标点云分组的属性编码模式为组内属性编码模式。
在一种实现方式中,属性编码模式包括组间属性编码模式或组内属性编码模式;计算机可读存储介质1004中的计算机指令由处理器1001加载并执行获取目标点云分组的属性编码模式时,具体用于执行如下步骤:
按照组间属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组间属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组间属性编码模式下的预测属性信息进行编码处理,得到第一编码信息;按照组内属性编码模式对目标点云分组中各点进行属性预测,得到目标点云分组中各点在组内属性编码模式下的预测属性信息;以及基于目标点云分组中各点在组内属性编码模式下的预测属性信息进行编码处理,得到第二编码信息;若第一编码信息大于或等于第二编码信息,则确定目标点云分组的属性编码模式为组内属性编码模式;若第一编码信息小于第二编码信息,则确定目标点云分组的属性编码模式为组间属性编码模式。
本申请实施例中,以组为单位进行属性预测,获取的点云分组的属性解码模式(或属性编码模式)可以适用于对该点云分组中各点进行属性预测,这样可以提高点云属性的预测效率,进而可以提升点云属性的编解码效率。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的点云解码方法或点云编码方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (38)
1.一种点云解码方法,其特征在于,所述方法包括:
获取待解码的目标点云分组,所述目标点云分组中包括一个或多个待解码的点;
获取所述目标点云分组的属性解码模式,并按照所述目标点云分组的属性解码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息;
对所述目标点云分组中各点进行属性解码处理,以得到所述目标点云分组中各点的重建残差信息;
根据所述目标点云分组中各点的预测属性信息和重建残差信息,确定所述目标点云分组中各点的重建属性信息。
2.如权利要求1所述的方法,其特征在于,所述对所述目标点云分组中各点进行属性解码处理,以得到所述目标点云分组中各点的重建残差信息,包括:
对所述目标点云分组中各点进行属性解码处理,得到所述目标点云分组中各点的重建残差信息;或者,
对所述目标点云分组中各点进行属性解码处理,得到所述目标点云分组中各点的重建变换系数,并对所述目标点云分组中各点的重建变换系数进行反变换处理,得到所述目标点云分组中各点的重建残差信息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
对所述目标点云分组进行变换判定;
若所述目标点云分组满足变换条件,则触发执行所述对所述目标点云分组中各点的重建变换系数进行反变换处理,得到所述目标点云分组中各点的重建残差信息的步骤;
其中,所述目标点云分组满足变换条件包括以下任一种:所述目标点云分组中包含的点的数量满足所述数量条件,或者所述目标点云分组中各点的重建残差信息的分布满足分布条件。
4.如权利要求1所述的方法,其特征在于,所述目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;
所述对所述待解码的点云数据进行分组处理还包括:
得到第一点云分组,所述第一点云分组是除所述目标点云分组外的任一个点云分组;
所述第一点云分组的属性解码模式与所述目标点云分组的属性解码模式不同;或者,所述第一点云分组的属性解码模式与所述目标点云分组的属性解码模式相同。
5.如权利要求4所述的方法,其特征在于,所述待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;对所述待解码的点云数据进行分组处理的过程,包括:
若当前待解码的点为重复点,则对所述当前待解码的点的一个或多个前序点按照既定规则进行分组处理;
其中,所述当前待解码的点的前序点是指解码顺序位于所述当前待解码的点之前的点;所述当前待解码的点为重复点是指所述当前待解码的点与所述当前待解码的点的任一个前序点的几何信息相同。
6.如权利要求4所述的方法,其特征在于,所述待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;对所述待解码的点云数据进行分组处理的过程,包括:
若当前待解码的点为重复点,则跳过所述当前待解码的点,将解码顺序位于所述当前待解码的点之后的非重复点添加至当前点云分组中,直至所述当前点云分组中包含的待解码的点的数量达到分组数量阈值;
其中,任一个待解码的点为非重复点是指所述待解码的点与所述待解码的点的前序点的几何信息均不相同;所述当前待解码的点为重复点是指所述当前待解码的点与所述当前待解码的点的任一个前序点的几何信息相同;所述待解码的点的前序点是指解码顺序位于所述待解码的点之前的点;所述分组数量阈值是指所述当前点云分组允许容纳的点的最大数量。
7.如权利要求4所述的方法,其特征在于,所述待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;对所述待解码的点云数据进行分组处理的过程,包括:
若当前待解码的点为重复点,则将所述当前待解码的点添加至当前点云分组中;
若所述当前点云分组中包含的点的数量未达到分组数量阈值,则将解码顺序位于所述当前待解码的点之后的待解码的点添加至所述当前点云分组中,直至所述当前点云分组中包含的点的数量达到所述分组数量阈值;
其中,所述当前待解码的点为重复点是指所述当前待解码的点与所述当前待解码的点的任一个前序点的几何信息相同;所述当前待解码的点的前序点是指解码顺序位于所述当前待解码的点之前的点。
8.如权利要求4所述的方法,其特征在于,所述待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;对所述待解码的点云数据进行分组处理的过程,包括:
若当前待解码的点为重复点,则对所述重复点进行分组处理;
其中,所述当前待解码的点为重复点是指所述当前待解码的点与所述当前待解码的点的任一个前序点的几何信息相同;所述当前待解码的点的前序点是指解码顺序位于所述当前待解码的点之前的点。
9.如权利要求4所述的方法,其特征在于,所述待解码的点云数据中各个待解码的点按照各自的解码顺序依次被解码;对所述待解码的点云数据进行分组处理的过程,包括:
若当前待解码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对所述当前待解码的点进行分组处理;
若当前待解码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对所述当前待解码的点进行分组处理。
10.如权利要求1所述的方法,其特征在于,所述目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;所述目标点云分组的属性解码模式为组间属性解码模式;所述按照所述目标点云分组的属性解码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息,包括:
从对待解码的点云数据进行分组处理得到的点云分组中确定所述目标点云分组的M个关联点云分组,所述M个关联点云分组是对所述待解码的点云数据进行分组处理得到的点云分组中解码顺序位于所述目标点云分组之前的M个相邻点云分组,M为正整数;
将所述M个关联点云分组中各点的重建属性信息的平均值,确定为所述目标点云分组中各点的预测属性信息;或者,
在所述M个关联点云分组中确定所述目标点云分组中各点的关联点;根据所述目标点云分组中各点的关联点的重建属性信息,确定所述目标点云分组中各点的预测属性信息。
11.如权利要求1所述的方法,其特征在于,所述目标点云分组的属性解码模式为组内属性解码模式;所述按照所述目标点云分组的属性解码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息,包括:
分别确定所述目标点云分组中各点的预测属性信息;或者,
确定所述目标点云分组中的目标点的预测属性信息;根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息。
12.如权利要求11所述的方法,其特征在于,所述目标点是所述目标点云分组中的任一个或多个点;所述根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息,包括:
当所述目标点是所述目标点云分组中的任一个点时,将所述目标点的预测属性信息确定为所述目标点云分组中各点的预测属性信息;或者,
当所述目标点是所述目标点云分组中的任一个点时,确定所述目标点云分组中除所述目标点外的其他点与所述目标点之间的几何关系;根据所述其他点与所述目标点之间的几何关系以及所述目标点的预测属性信息,确定所述其他点的预测属性信息;或者,
当所述目标点是所述目标点云分组中的任意多个点时,将所述目标点的预测属性信息的平均值确定为所述目标点云分组中各点的预测属性信息。
13.如权利要求11所述的方法,其特征在于,所述确定所述目标点云分组中的目标点的预测属性信息,包括:
对所述目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从所述P个点云子分组的每个点云子分组中选择一个点作为所述目标点,并确定所述目标点的预测属性信息;
所述根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息,包括:将所述P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
14.如权利要求11所述的方法,其特征在于,所述目标点云分组中各点按照各自的解码顺序依次被解码;所述目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;所述确定所述目标点云分组中的目标点的预测属性信息,包括:
将所述目标点云分组中解码顺序位于所述目标点之前的相邻点的重建属性信息,确定为所述目标点的预测属性信息;或者,
在对待解码的点云数据进行分组处理得到的点云分组中确定所述目标点的Q个邻近点,Q为正整数;确定所述Q个邻近点与所述目标点之间的几何关系;根据所述Q个邻近点与所述目标点之间的几何关系以及所述Q个邻近点的重建属性信息,确定所述目标点的预测属性值;所述Q个邻近点是对所述待解码的点云数据进行分组处理得到的点云分组中与所述目标点几何相近的Q个点。
15.如权利要求1所述的方法,其特征在于,所述属性解码模式包括多种组内属性解码模式;所述方法还包括:
统计所述目标点云分组包含的点的数量;
若所述点的数量大于第二数量阈值,则确定所述目标点云分组的属性解码模式为第一组内属性解码模式;
若所述点的数量小于或等于所述第二数量阈值,则确定所述目标点云分组的属性解码模式为第二组内属性解码模式,所述第一组内属性解码模式与所述第二组内属性解码模式不相同。
16.如权利要求1所述的方法,其特征在于,所述目标点云分组是对待解码的点云数据进行分组处理得到的任一个点云分组;所述属性解码模式包括组间属性解码模式或组内属性解码模式;所述获取所述目标点云分组的属性解码模式,包括:
从对待解码的点云数据进行分组处理得到的点云分组中确定所述目标点云分组的M个关联点云分组,所述M个关联点云分组是对所述待解码的点云数据进行分组处理得到的点云分组中解码顺序位于所述目标点云分组之前的M个相邻点云分组,M为正整数;
计算所述目标点云分组与所述M个关联点云分组之间的组间相似度;
若所述组间相似度大于相似度阈值,则确定所述目标点云分组的属性解码模式为组间属性解码模式;
若所述组间相似度阈值小于或等于相似度阈值,则确定所述目标点云分组的属性解码模式为组内属性解码模式。
17.一种点云编码方法,其特征在于,所述方法包括:
获取待编码的目标点云分组,所述目标点云分组中包括一个或多个待编码的点;
获取所述目标点云分组的属性编码模式,并按照所述目标点云分组的属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息;
根据所述目标点云分组中各点的预测属性信息和真实属性信息,确定所述目标点云分组中各点的预测残差信息;
基于所述目标点云分组中各点的预测残差信息对所述目标点云分组中各点进行属性编码处理,得到编码后的所述目标点云分组。
18.如权利要求17所述的方法,其特征在于,所述基于所述目标点云分组中各点的预测残差信息对所述目标点云分组中各点进行属性编码处理,得到编码后的所述目标点云分组,包括:
对所述目标点云分组中各点的预测残差信息进行属性编码处理,得到编码后的所述目标点云分组;或者,
对所述目标点云分组中各点的预测残差信息进行变换处理,得到所述目标点云分组中各点的残差变换系数;对所述目标点云分组中各点的残差变换系数进行属性编码处理,得到编码后的所述目标点云分组。
19.如权利要求18所述的方法,其特征在于,所述方法还包括:
对所述目标点云分组进行变换判定;
若所述目标点云分组满足变换条件,则触发执行所述对所述目标点云分组中各点的预测残差信息进行变换处理,得到所述目标点云分组中各点的残差变换系数的步骤;
其中,所述目标点云分组满足变换条件包括以下任一种:所述目标点云分组中包含的点的数量满足所述数量条件,或者所述目标点云分组中各点的预测残差信息的分布满足分布条件。
20.如权利要求17所述的方法,其特征在于,所述目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;
所述对所述待编码的点云数据进行分组处理还包括:
得到第一点云分组,所述第一点云分组是除所述目标点云分组外的任一个点云分组;
所述第一点云分组的属性编码模式与所述目标点云分组的属性编码模式不同;或者,所述第一点云分组的属性编码模式与所述目标点云分组的属性编码模式相同。
21.如权利要求20所述的方法,其特征在于,所述待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;对所述待编码的点云数据进行分组处理的过程,包括:
若当前待编码的点为重复点,则对所述当前待编码的点的一个或多个前序点按照既定规则进行分组处理;
其中,所述当前待编码的点的前序点是指编码顺序位于所述当前待编码的点之前的点;所述当前待编码的点为重复点是指所述当前待编码的点与所述当前待编码的点的任一个前序点的几何信息相同。
22.如权利要求20所述的方法,其特征在于,所述待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;对所述待编码的点云数据进行分组处理的过程,包括:
若当前待编码的点为重复点,则跳过所述当前待编码的点,将编码顺序位于所述当前待编码的点之后的非重复点添加至当前点云分组中,直至所述当前点云分组中包含的待编码的点的数量达到分组数量阈值;
其中,任一个待编码的点为非重复点是指所述待编码的点与所述待编码的点的前序点的几何信息均不相同;所述当前待编码的点为重复点是指所述当前待编码的点与所述当前待编码的点的任一个前序点的几何信息相同;所述待编码的点的前序点是指编码顺序位于所述待编码的点之前的点;所述分组数量阈值是指所述当前点云分组允许容纳的点的最大数量。
23.如权利要求20所述的方法,其特征在于,所述待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;对所述待编码的点云数据进行分组处理的过程,包括:
若当前待编码的点为重复点,则将所述当前待编码的点添加至当前点云分组中;
若所述当前点云分组中包含的点的数量未达到分组数量阈值,则将编码顺序位于所述当前待编码的点之后的待编码的点添加至所述当前点云分组中,直至所述当前点云分组中包含的点的数量达到所述分组数量阈值;
其中,所述当前待编码的点为重复点是指所述当前待编码的点与所述当前待编码的点的任一个前序点的几何信息相同;所述当前待编码的点的前序点是指编码顺序位于所述当前待编码的点之前的点。
24.如权利要求20所述的方法,其特征在于,所述待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;对所述待编码的点云数据进行分组处理的过程,包括:
若当前待编码的点为重复点,则对所述重复点进行分组处理;
其中,所述当前待编码的点为重复点是指所述当前待编码的点与所述当前待编码的点的任一个前序点的几何信息相同;所述当前待编码的点的前序点是指编码顺序位于所述当前待编码的点之前的点。
25.如权利要求20所述的方法,其特征在于,所述待编码的点云数据中各个待编码的点按照各自的编码顺序依次被编码;对所述待编码的点云数据进行分组处理的过程,包括:
若当前待编码的点为重复点,且已统计的重复点数量大于第一数量阈值,则不对所述当前待编码的点进行分组处理;
若当前待编码的点为重复点,但已统计的重复点数量小于或等于第一数量阈值,则对所述当前待编码的点进行分组处理。
26.如权利要求17所述的方法,其特征在于,所述目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;所述目标点云分组的属性编码模式为组间属性编码模式;所述按照所述目标点云分组的属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息,包括:
从对待编码的点云数据进行分组处理得到的点云分组中确定所述目标点云分组的M个关联点云分组,所述M个关联点云分组是对所述待编码的点云数据进行分组处理得到的点云分组中编码顺序位于所述目标点云分组之前的M个相邻点云分组,M为正整数;
将所述M个关联点云分组中各点的重建属性信息的平均值,确定为所述目标点云分组中各点的预测属性信息;或者,
在所述M个关联点云分组中确定所述目标点云分组中各点的关联点;根据所述目标点云分组中各点的关联点的重建属性信息,确定所述目标点云分组中各点的预测属性信息。
27.如权利要求17所述的方法,其特征在于,所述目标点云分组的属性编码模式为组内属性编码模式;所述按照所述目标点云分组的属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息,包括:
分别确定所述目标点云分组中各点的预测属性信息;或者,
确定所述目标点云分组中的目标点的预测属性信息;根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息。
28.如权利要求27所述的方法,其特征在于,所述目标点是所述目标点云分组中的任一个或多个点;所述根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息,包括:
当所述目标点是所述目标点云分组中的任一个点时,将所述目标点的预测属性信息确定为所述目标点云分组中各点的预测属性信息;或者,
当所述目标点是所述目标点云分组中的任一个点时,确定所述目标点云分组中除所述目标点外的其他点与所述目标点之间的几何关系;根据所述其他点与所述目标点之间的几何关系以及所述目标点的预测属性信息,确定所述其他点的预测属性信息;或者,
当所述目标点是所述目标点云分组中的任意多个点时,将所述目标点的预测属性信息的平均值确定为所述目标点云分组中各点的预测属性信息。
29.如权利要求27所述的方法,其特征在于,所述确定所述目标点云分组中的目标点的预测属性信息,包括:
对所述目标点云分组进行分组处理,得到P个点云子分组,P为大于或等于2的整数;从所述P个点云子分组的每个点云子分组中选择一个点作为所述目标点,并确定所述目标点的预测属性信息;
所述根据所述目标点的预测属性信息,确定所述目标点云分组中各点的预测属性信息,包括:将所述P个点云子分组的每个点云子分组中的目标点的预测属性信息,确定为对应点云子分组中各点的预测属性信息。
30.如权利要求27所述的方法,其特征在于,所述目标点云分组中各点按照各自的编码顺序依次被编码;所述目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;所述确定所述目标点云分组中的目标点的预测属性信息,包括:
将所述目标点云分组中编码顺序位于所述目标点之前的相邻点的重建属性信息,确定为所述目标点的预测属性信息;或者,
在对待编码的点云数据进行分组处理得到的点云分组中确定所述目标点的Q个邻近点,Q为正整数;确定所述Q个邻近点与所述目标点之间的几何关系;根据所述Q个邻近点与所述目标点之间的几何关系以及所述Q个邻近点的重建属性信息,确定所述目标点的预测属性值;所述Q个邻近点是对所述待编码的点云数据进行分组处理得到的点云分组中与所述目标点几何相近的Q个点。
31.如权利要求17所述的方法,其特征在于,所述属性编码模式包括多种组内属性编码模式;所述方法还包括:
统计所述目标点云分组包含的点的数量;
若所述点的数量大于第二数量阈值,则确定所述目标点云分组的属性编码模式为第一组内属性编码模式;
若所述点的数量小于或等于所述第二数量阈值,则确定所述目标点云分组的属性编码模式为第二组内属性编码模式,所述第一组内属性编码模式与所述第二组内属性编码模式不相同。
32.如权利要求17所述的方法,其特征在于,所述目标点云分组是对待编码的点云数据进行分组处理得到的任一个点云分组;所述属性编码模式包括组间属性编码模式或组内属性编码模式;所述获取所述目标点云分组的属性编码模式,包括:
从对待编码的点云数据进行分组处理得到的点云分组中确定所述目标点云分组的M个关联点云分组,所述M个关联点云分组是对所述待编码的点云数据进行分组处理得到的点云分组中编码顺序位于所述目标点云分组之前的M个相邻点云分组,M为正整数;
计算所述目标点云分组与所述M个关联点云分组之间的组间相似度;
若所述组间相似度大于相似度阈值,则确定所述目标点云分组的属性编码模式为组间属性编码模式;
若所述组间相似度阈值小于或等于相似度阈值,则确定所述目标点云分组的属性编码模式为组内属性编码模式。
33.如权利要求17所述的方法,其特征在于,所述属性编码模式包括组间属性编码模式或组内属性编码模式;所述获取所述目标点云分组的属性编码模式,包括:
按照所述组间属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点在所述组间属性编码模式下的预测属性信息;以及基于所述目标点云分组中各点在所述组间属性编码模式下的预测属性信息进行编码处理,得到第一编码信息;
按照所述组内属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点在所述组内属性编码模式下的预测属性信息;以及基于所述目标点云分组中各点在所述组内属性编码模式下的预测属性信息进行编码处理,得到第二编码信息;
若所述第一编码信息大于或等于所述第二编码信息,则确定所述目标点云分组的属性编码模式为所述组内属性编码模式;
若所述第一编码信息小于所述第二编码信息,则确定所述目标点云分组的属性编码模式为所述组间属性编码模式。
34.一种点云解码装置,其特征在于,所述点云解码装置包括:
获取单元,用于获取待解码的目标点云分组,所述目标点云分组中包括一个或多个待解码的点;
所述获取单元,还用于获取所述目标点云分组的属性解码模式,并按照所述目标点云分组的属性解码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息;
处理单元,用于对所述目标点云分组中各点进行属性解码处理,以得到所述目标点云分组中各点的重建残差信息;
所述处理单元,还用于根据所述目标点云分组中各点的预测属性信息和重建残差信息,确定所述目标点云分组中各点的重建属性信息。
35.一种点云编码装置,其特征在于,所述点云编码装置包括:
获取单元,用于获取待编码的目标点云分组,所述目标点云分组中包括一个或多个待编码的点;
所述获取单元,还用于获取所述目标点云分组的属性编码模式,并按照所述目标点云分组的属性编码模式对所述目标点云分组中各点进行属性预测,得到所述目标点云分组中各点的预测属性信息;
处理单元,用于根据所述目标点云分组中各点的预测属性信息和真实属性信息,确定所述目标点云分组中各点的预测残差信息;
所述处理单元,还用于基于所述目标点云分组中各点的预测残差信息对所述目标点云分组中各点进行属性编码处理,得到编码后的所述目标点云分组。
36.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至16任一项所述的点云解码方法,或者如权利要求17至33任一项所述的点云编码方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至16任一项所述的点云解码方法,或者如权利要求17至33任一项所述的点云编码方法。
38.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至16任一项所述的点云解码方法,或者如权利要求17至33任一项所述的点云编码方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111482241.0A CN116233468A (zh) | 2021-12-06 | 2021-12-06 | 点云解码方法、点云编码方法、装置、设备、介质及产品 |
| PCT/CN2022/123771 WO2023103564A1 (zh) | 2021-12-06 | 2022-10-08 | 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 |
| US18/514,586 US20240087176A1 (en) | 2021-12-06 | 2023-11-20 | Point cloud decoding method and apparatus, point cloud encoding method and apparatus, computer device, computer-readable storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111482241.0A CN116233468A (zh) | 2021-12-06 | 2021-12-06 | 点云解码方法、点云编码方法、装置、设备、介质及产品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116233468A true CN116233468A (zh) | 2023-06-06 |
Family
ID=86571816
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111482241.0A Pending CN116233468A (zh) | 2021-12-06 | 2021-12-06 | 点云解码方法、点云编码方法、装置、设备、介质及产品 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240087176A1 (zh) |
| CN (1) | CN116233468A (zh) |
| WO (1) | WO2023103564A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025039127A1 (zh) * | 2023-08-18 | 2025-02-27 | Oppo广东移动通信有限公司 | 编解码方法、编解码器以及存储介质 |
| WO2025060705A1 (zh) * | 2023-09-21 | 2025-03-27 | 腾讯科技(深圳)有限公司 | 点云处理方法、装置、存储介质及电子设备 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025007983A1 (en) * | 2023-07-06 | 2025-01-09 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10909726B2 (en) * | 2018-04-10 | 2021-02-02 | Apple Inc. | Point cloud compression |
| US11012713B2 (en) * | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
| WO2020072665A1 (en) * | 2018-10-02 | 2020-04-09 | Futurewei Technologies, Inc. | Hierarchical tree attribute coding in point cloud coding |
| CN111435991B (zh) * | 2019-01-11 | 2021-09-28 | 上海交通大学 | 基于分组的点云码流封装方法和系统 |
| US11593967B2 (en) * | 2020-01-08 | 2023-02-28 | Samsung Electronics Co., Ltd. | Attribute transfer in V-PCC |
| WO2022141453A1 (zh) * | 2020-12-31 | 2022-07-07 | 深圳市大疆创新科技有限公司 | 点云编解码方法、装置及系统 |
| CN115102934B (zh) * | 2022-06-17 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 点云数据的解码方法、编码方法、装置、设备及存储介质 |
-
2021
- 2021-12-06 CN CN202111482241.0A patent/CN116233468A/zh active Pending
-
2022
- 2022-10-08 WO PCT/CN2022/123771 patent/WO2023103564A1/zh not_active Ceased
-
2023
- 2023-11-20 US US18/514,586 patent/US20240087176A1/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025039127A1 (zh) * | 2023-08-18 | 2025-02-27 | Oppo广东移动通信有限公司 | 编解码方法、编解码器以及存储介质 |
| WO2025060705A1 (zh) * | 2023-09-21 | 2025-03-27 | 腾讯科技(深圳)有限公司 | 点云处理方法、装置、存储介质及电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240087176A1 (en) | 2024-03-14 |
| WO2023103564A1 (zh) | 2023-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115379190B (zh) | 一种点云处理方法、装置及计算机设备、存储介质 | |
| US20230237705A1 (en) | Methods for level partition of point cloud, and decoder | |
| CN116233468A (zh) | 点云解码方法、点云编码方法、装置、设备、介质及产品 | |
| CN113179410A (zh) | 一种点云属性的编解码方法、装置和系统 | |
| WO2023241107A1 (zh) | 点云处理方法、装置及计算机设备、存储介质 | |
| CN115100302A (zh) | 点云处理方法、装置、设备以及介质 | |
| WO2024124901A1 (zh) | 点云处理方法、装置、设备、介质和程序产品 | |
| CN115396668B (zh) | 点云数据的解码方法、编码方法、装置、存储介质及设备 | |
| CN116648915A (zh) | 点云编解码方法、编码器、解码器以及计算机存储介质 | |
| WO2022140937A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
| CN116320352A (zh) | 一种点云处理方法、装置及计算机设备、存储介质 | |
| CN116472556A (zh) | 预测方法、编码器、解码器以及存储介质 | |
| WO2022258063A1 (zh) | 点云属性编码方法、装置、解码方法、装置及相关设备 | |
| CN115474050A (zh) | 熵编码、解码方法及装置 | |
| CN115102934B (zh) | 点云数据的解码方法、编码方法、装置、设备及存储介质 | |
| CN116781927A (zh) | 一种点云处理方法及相关设备 | |
| CN116458158B (zh) | 帧内预测方法及装置、编解码器、设备、存储介质 | |
| CN120693867A (zh) | 解码方法、编码方法、解码器以及编码器 | |
| CN115474041A (zh) | 点云属性的预测方法、装置及相关设备 | |
| CN116634179A (zh) | 点云数据处理方法、装置、电子设备及存储介质 | |
| Kimata | Hybrid Spatial and Deep Learning-based Point Cloud Compression with Layered Representation on 3D Shape | |
| CN119071486A (zh) | 点云处理方法、装置及计算机设备、存储介质 | |
| US20250024041A1 (en) | Method for index determination, decoder, encoder, and bitstream | |
| US20250063195A1 (en) | Point cloud processing method and apparatus, device, storage medium, and product | |
| CN119071499A (zh) | 点云处理方法、装置及计算机设备、存储介质 |
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 | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086883 Country of ref document: HK |