WO2021243519A1 - 点云的编解码方法和装置 - Google Patents
点云的编解码方法和装置 Download PDFInfo
- Publication number
- WO2021243519A1 WO2021243519A1 PCT/CN2020/093754 CN2020093754W WO2021243519A1 WO 2021243519 A1 WO2021243519 A1 WO 2021243519A1 CN 2020093754 W CN2020093754 W CN 2020093754W WO 2021243519 A1 WO2021243519 A1 WO 2021243519A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- leaf node
- block
- position coordinate
- node block
- identifier
- Prior art date
Links
Images
Classifications
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree 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
- 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
Abstract
提供一种点云的编解码方法与装置,相对于现有技术,可以提高点云编解码的效率和性能。该点云的编码方法包括:确定点云经过多叉树划分后的第一块,其中,该第一块中包括点云点的叶子节点块的数量不大于N,N为根据该第一块的划分方式确定的正整数;采用深度优先的目标编码方式对该叶子节点块在该第一块中的位置坐标进行编码以形成该第一块的第一码流。通过本申请的技术方案,能够降低点云中至少部分待编码块的编码比特位,提高点云压缩效率和点云解码速度,还能够摆脱广度优先的编码方式对于编码顺序的严格要求,有利于点云编码的并行化,降低点云编解码的复杂度。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本申请涉及编解码领域,并且更为具体地,涉及一种点云的编解码方法和装置。
点云(或称三维点云)是三维物体或场景的一种表现形式,是由空间中一组无规则分布的、表达三维物体或三维场景的空间结构和表面属性的离散点所构成。为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩。点云的编码过程包括点云中点云点的位置坐标的编码和点云点的属性信息的编码。
目前,现有的点云中位置坐标的编码方式大多采用基于广度优先的八叉树划分编码方式,这种编码方式存在较高的复杂度,对编码顺序有严格的要求,不利于点云编码的并行化,且对于八叉树子块中相对集中的点云点编码存在比特位浪费等诸多问题,从而影响点云编解码的效率和性能。
发明内容
本申请提供一种点云的编解码方法与装置,相对于现有技术,可以提高点云编解码的效率和性能。
第一方面,提供一种点云的编码方法,包括:确定点云经过多叉树划分后的第一块,其中,该第一块中包括点云点的叶子节点块的数量不大于N,N为根据该第一块的划分方式确定的正整数;采用深度优先的目标编码方式对该叶子节点块在该第一块中的位置坐标进行编码以形成该第一块的第一码流。
第二方面,提供一种点云的解码方法,包括:接收第一块的第一码流,该第一块为点云经过多叉树划分后的空间块;采用深度优先的目标解码方式 对该第一码流进行解码得到该第一块中包括点云点的叶子节点块的位置坐标;其中,该叶子节点块的数量不大于N,N为根据该第一块的划分方式确定的正整数。
第三方面,提供一种点云的编码装置,包括处理器,该处理器用于执行上述第一方面中的点云的编码方法。
第四方面,提供一种点云的解码装置,包括处理器,该处理器用于执行上述第二方面中的点云的解码方法。
第五方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得,所述计算机执行第一方面或者第二方面提供的方法。
通过本申请的技术方案,根据第一块的划分方式确定数值N,且使得第一块中包括点云点的叶子节点块的数量不大于N,采用深度优先的编码方式对该第一块进行编码,而不采用广度优先的编码方式对其进行编码,能够不局限于划分方式造成的固定编码比特位,降低第一块的编码比特位,从而节约比特流,提高点云压缩效率和点云解码速度。另外,采用深度优先的编码方式能够摆脱广度优先的编码方式对于编码顺序的严格要求,有利于点云编码的并行化,降低点云编解码的复杂度。
图1示出了本申请提供的一种点云数据编码流程的示意图。
图2是一种点云编码的初始化空间的示意图。
图3是根据本申请实施例的一种点云数据解码流程的示意图。
图4至图5是根据本申请实施例的两种点云的编码方法的示意性流程框图。
图6是根据本申请实施例的第一块经过划分后的第一子树的一种示意性结构图。
图7至图8是根据本申请实施例的另两种点云的编码方法的示意性流程框图。
图9至图10是根据本申请实施例的第一块经过划分后的第一子树的另两种示意性结构图。
图11至图13是根据本申请实施例的另几种点云的编码方法的示意性流 程框图。
图14至图21是根据本申请实施例的几种点云的解码方法的示意性流程框图。
图22是根据本申请实施例的点云的编码装置的示意性框图。
图23是根据本申请实施例的点云的解码装置的示意性框图。
为了便于理解本申请实施例提供的技术方案,下文首先描述一些本申请实施例涉及的概念。
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例可适用于标准或非标准的点云编解码器。例如,数字音视频编解码技术标准(audio video coding standard,AVS)标准的编码器。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
为了便于理解本发明实施例提供的技术方案,下文首先描述一些本发明实施例涉及的概念。
点云是在同一空间参考坐标系下表达目标空间分布和目标表面特性的离散点集合,也即,在获取物体表面每个采样点的空间坐标后,得到的采样点的集合,称之为点云(Point Cloud)。为了准确反映三维空间中的信息,通常需要海量的离散点对三维空间中的物体进行表征。下文将点云中的离散点称为点云点。
图1示出了本申请提供的一种点云数据编码流程的示意图。
点云数据通常包括点云中多个点云点的位置信息以及属性信息。点云点的位置坐标可用于描述点云点在三维空间中的位置,点云点的属性信息例如可以包括点云点的颜色信息,还可以包括点云点的反射率等其他信息。为了减少点云在存储和传输时所占用的带宽,可以对点云数据进行编码,以压缩 点云的数据量。在点云数据的编码过程中,点云点的位置信息编码与属性信息编码通常是分开进行的。
如图1所示,在点云数据的编码方法中,点云点的位置信息编码方法包括:
坐标平移、量化:对点云中多个点云点的位置坐标进行平移和量化。一个示例中,采用几何量化方法对点云点的位置坐标进行处理。几何量化的过程可以将多个点云点的位置坐标转换为大于或等于零的整数坐标。在位置坐标平移量化之后可以去除重复坐标。也可以不去重,直接对量化后的点云点位置坐标进行八叉树编码。
在确定初始化空间之后,接着对该初始化空间进行多层的八叉树划分。每层八叉树划分均可利用当前块的中心点的位置坐标进行空间划分,通过中心点将当前块划分为八个体积相等的子块。图2示出了初始化空间进行首次划分后得到的划分结果,从图2可以看出,初始化空间被均匀划分成8个体积相等的子块。在八叉树中,初始化空间为根节点块,这些子块为该根节点的子节点块,称为第一层子节点块。
在得到第一层子节点块之后,可以判断第一层的每个子节点块内是否存在点云点,对存在点云点的子节点块再进一步划分,直至该子节点块的边长小于阈值时停止八叉树划分,此时的子节点块称为当前八叉树的叶子节点块。该阈值例如可以是1。
在对点云中多个点云点的位置坐标进行八叉树编码时,可以按照八叉树的广度优先遍历顺序(breadth first search,BFS),逐层进行编码。在逐层编码时,可以逐层逐个编码每个八叉树的划分结果,即判断当前子块进行八叉树划分后得到的八个子块是否含有点云点。如果该块的某个子块含有点云点,则对该子块进行进一步划分,否则停止划分。当划分到最后八叉树的一层(最后一层可以是子块边长为1的层)时,达到了八叉树的底层,即达到了八叉树的叶子节点块,不需要再进一步划分。
在另一些实施方式中,还可以采用四叉树划分方式、二叉树划分方式、或者几种划分方式混合的多叉树划分方式对点云点的位置信息进行编码。
例如,与上文中八叉树编码过程类似,可以按照广度优先编码顺序,对多叉树划分后的多个子块逐层进行编码。其中,若子块采用四叉树划分方式,则对其编码只需要编码4个比特(bit),比八叉树划分节省4个比特;若采 用二叉树划分方式进行编码,则只需要编码2个比特,比八叉树划分节省6个比特。跳过的比特可以在解码端推测出为0。
熵编码:对八叉树编码后的码流进行熵编码得到点云的几何码流,即点云中多个点云点位置信息的码流。
在对位置坐标进行多叉树编码后,同步会按照多叉树重建后的位置坐标顺序对对应的属性值进行压缩编码。
继续参见图1,在点云数据的编码方法中,点云点的属性信息编码方法包括:空间变换、属性插值、属性预测、残差量化以及熵编码等过程。
点云数据的解码流程与编码流程的逆过程大致相同。图3示出了本申请提供的一种解码流程的示意图。
熵解码:解码端对获取输入的几何码流和属性码流后,采用与编码端的熵编码方法对应的熵解码方法对码流逐比特进行解码。
多叉树重建:具体地,对于几何码流,通过熵解码后的信息可以先确定点云的初始化空间(初始化空间的尺寸可以由编码端写入码流,解码端从码流中获取即可),然后对初始化空间进行多叉树划分。解码端采用与编码端一致的空间划分方式对初始化空间进行划分。通过划分的多叉树中多个子节点块及其对应的二进制比特流得到点云点待逆量化的位置坐标数据。
逆量化:逆量化为编码端量化的逆过程,多叉树重建后的待逆量化的位置坐标数据经过逆量化后得到编码端中量化后的坐标。属性码流经过熵解码和逆量化后得到属性预测残差值。
逆空间变换:对应于编码端的空间变换,该步骤也为可选步骤,若属性重建后的属性值为YUV空间的属性值,则对其进行逆空间变换得到RGB空间的属性值。
最后,将上述解码得到的位置信息及其对应的属性信息合并后即可得到点云数据。
上文结合图1至图3,对相关技术的编码过程进行了介绍。从上文描述可以看出,在对点云中多个点云点的位置坐标进行多叉树编码时,采用广度优先方式遍历划分后的每个块,并对每个块是否存在点云点均进行编码标 识,因此采用这种编码方式存在较高的复杂度,对编码顺序有严格的要求,不利于点云编码的并行化,且对于多叉树子块中相对集中的点云点编码存在比特位浪费等诸多问题,从而影响点云编解码的效率和性能。
基于上述问题,本申请提出一种点云的编解码方法,能够减小点云点位置编码的比特位,避免比特浪费,且不拘泥于严格的编码顺序,有利于降低编码复杂度和点云编码的并行化处理。
下面结合图4至图21,对本申请实施例提供的点云的编解码方法进行详细描述。图4至图21中的方法可以由编码装置或者解码装置执行。
并且,更为具体地,本申请实施例主要涉及点云中多个点云点的位置坐标的编解码过程。因此,下文主要针对点云中多个点云点的位置坐标的编解码过程进行描述,点云的属性信息的编解码过程可以参见上述相关描述或者相关技术,本申请实施例对此并不限定。
图4示出了一种点云的编码方法100的示意性流程框图。
如图4所示,该点云的编码方法100可以包括以下步骤。
S110:确定点云经过多叉树划分后的第一块,其中,该第一块中包括点云点的叶子节点块的数量不大于N,N为根据第一块的划分方式确定的正整数。
S120:采用深度优先的目标编码方式对叶子节点块在第一块中的位置坐标进行编码以形成第一块的第一码流。
在对点云中多个点云点的位置信息进行编码时,对点云所在的初始化空间进行多叉树划分,得到点云经过多叉树划分后的树结构,通过树结构表征多个点云点的位置空间。
可选地,在本申请实施例中,多叉树划分包括但不限于是单纯的某种划分方式,例如单纯的八叉树划分方式,还可以是二叉树划分、四叉树划分、八叉树划分,乃至其它划分方式相混合的多叉树划分方式。本申请实施例对具体的多叉树划分方式不做限定。且为了方便描述,本申请中将八叉树划分、四叉树划分、二叉树划分、以及多种划分方式混合的多叉树划分方式均称之为多叉树划分。
在本申请实施例中,不是采用传统的编码方法,按照广度优先编码方式对点云的树结构进行编码,而是引入一种新的编码模式,当编码至树结构中的第一块时,确定该第一块符合预设条件,则此时不是采用广度优先编码方 式再继续遍历该第一块之后的第二块,而是切换至深度优先的目标编码方式,对该第一块进行编码,再回到该第一块之后的第二块。
可选地,该第一块可以为点云的初始化空间块,也可以为点云的初始化空间块经过划分后的任意一个块,本申请实施例对第一块在初始化空间中的具体位置不做限定。
采用本申请实施例的方法,能够摆脱广度优先的编码方式对于编码顺序的严格要求,有利于点云编码的并行化,降低点云编码的复杂度。
具体地,本申请中第一块的预设条件可以为:第一块中叶子节点块的数量不大于N,其中,该叶子节点块为包括点云点的叶子节点块,N为根据多叉树划分方式确定的正整数。
在采用原始的广度优先的编码方式下,会根据第一块每一层的划分方式编码对应比特位,在第一块中的点云点数量较少的情况下,采用该编码方式会造成较大的比特流浪费。而采用本申请实施例的方案,根据第一块的划分方式,确定数值N,且第一块中包括点云点的叶子节点块的数量不超过N时,对该叶子节点块在第一块中的位置坐标进行编码,能够降低第一块的编码比特位,从而节约比特流,提高点云压缩效率。
下面,将针对具体的实施例,详细说明本申请的技术方案,并针对具体的技术方案说明对应的技术效果。
在一些实施方式中,第一块的块划分方式包括八叉树划分、四叉树划分、二叉树划分中的一种或多种,则第一块的预设条件可以为:第一块中包括点云点的叶子节点块的数量不大于2。
首先,说明第一块中包括点云点的叶子节点块的数量为1的情况,在下文中,该1个包括点云点的叶子节点块也写为第一叶子节点块。
图5示出了另一种点云的编码方法100的示意性流程框图。
如图5所示,上述步骤S110可以包括以下步骤。
S111:确定点云经过多叉树划分后的第一块,其中,该第一块中包括第一叶子节点块。
上述步骤S120可以包括以下步骤。
S121:分别对第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成第一块的第一码流。
可选地,在第一块中构建笛卡尔坐标系,也称XYZ坐标系,在XYZ三 个方向上,若第一块为2
a×2
b×2
c的空间块,第一块中的叶子节点块为2
a’×2
b’×2
c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a’,b’,c’为整数。
则在X方向上,可以采用a-a’个比特位标识第一叶子节点块在第一块中的位置;在Y方向上,可以采用b-b’个比特位标识第一叶子节点块在第一块中的位置;在Z方向上,可以采用c-c’个比特位标识第一叶子节点块在第一块中的位置。
换言之,在本申请实施例中,可以采用(a-a’)个比特位对第一叶子节点块在X方向上的位置坐标值进行编码;采用(b-b’)个比特位对第一叶子节点块在Y方向上的位置坐标值进行编码;采用(c-c’)个比特位对第一叶子节点块在Z方向上的位置坐标值进行编码。
在一些实施例中,若a’=b’=c’=0,即第一块中的叶子节点块为1×1×1的空间块时,则可以采用a个比特位对第一叶子节点块在X方向上的位置坐标进行编码;采用b个比特位对第一叶子节点块在Y方向上的位置坐标进行编码;采用c个比特位对第一叶子节点块在Z方向上的位置坐标进行编码。
作为示例,若a=b=c=3,a’=b’=c’=0,在X方向上,第一块中排列有8个叶子节点块,可以采用3个比特位标识0-7中的任意一个数,从而对第一叶子节点块在X方向上的位置坐标值进行编码;类似地,在Y方向以及Z方向上,同样可以采用3个比特位标识0-7中的任意一个数,从而对第一叶子节点块在Y方向以及Z方向上的位置坐标值进行编码。
可选地,在对第一叶子节点块的位置坐标值进行编码时,对第一叶子节点块在一个方向上的位置坐标值编码完成后,对第一叶子节点块在另一个方向上的位置坐标值进行编码。具体地,可以依次分别对第一叶子节点块在X,Y,Z三个方向上的位置坐标值进行编码,例如,按照XYZ的顺序对第一叶子节点块的位置坐标值进行编码,即对X方向上的位置坐标值编码完成后,对Y方向上的位置坐标值编码,然后对Z方向上的位置坐标值编码。当然,也可以按照YXZ,YZX等顺序对第一叶子节点块的位置坐标值进行编码,本申请实施例对此不做限定。
例如,第一块为8×8×8的空间块,叶子节点块为1×1×1的空间块,第一叶子节点块的位置坐标为(1,2,3),则按照XYZ的顺序对该位置坐标进行编码为001 010 011。
可选地,在对第一叶子节点块的位置坐标值进行编码时,还对第一叶子 节点块在一个方向上的位置坐标值编码一比特位后,对第一叶子节点块在另一个方向上的位置坐标值编码一比特位。可选地,可以先对第一叶子节点块在X方向上的位置坐标值编码一比特位后,对第一叶子节点块在Y方向上的位置坐标值编码一比特位,然后对第一叶子节点块在Z方向上的位置坐标值编码一比特位;可以理解的是,还可以采用其它方向顺序进行编码,本申请实施例对XYZ三个方向的编码顺序不做具体限定。
在一种实施方式中,对第一叶子节点块在一个方向上的位置坐标值编码最低比特位后,对第一叶子节点块在另一个方向上的位置坐标值编码最低比特位。
例如,第一块为8×8×8的空间块,叶子节点块为1×1×1的空间块,第一叶子节点块的位置坐标为(1,2,3)。先对第一叶子节点块在三个方向上的位置坐标值编码最低比特位(第0比特位),即对第一叶子节点块在X方向上的位置坐标值编码最低比特位1,对第一叶子节点块在Y方向上的位置坐标值编码最低比特位0,对第一叶子节点块在Z方向上的位置坐标值编码最低比特位1。然后对第一叶子节点块在三个方向上的位置坐标值编码中间比特位(第1比特位)。最后对第一叶子节点块在三个方向上的位置坐标值编码最高比特位(第2比特位)。则按照此方式对第一叶子节点块的位置坐标(1,2,3)进行编码为101 011 000。
在另一种实施方式中,对第一叶子节点块在一个方向上的位置坐标值编码最高比特位后,对第一叶子节点块在另一个方向上的位置坐标值编码最高比特位。
例如,第一块为8×8×8的空间块,叶子节点块为1×1×1的空间块,第一叶子节点块的位置坐标为(1,2,3)。先对第一叶子节点块在三个方向上的位置坐标值编码最高比特位(第2比特位),即对第一叶子节点块在X方向上的位置坐标值编码最高比特位0,对第一叶子节点块在Y方向上的位置坐标值编码最高比特位0,对第一叶子节点块在Z方向上的位置坐标值编码最高比特位0。然后对第一叶子节点块在三个方向上的位置坐标值编码中间比特位(第1比特位)。最后对第一叶子节点块在三个方向上的位置坐标值编码最低比特位(第0比特位)。则按照此方式对第一叶子节点块的位置坐标(1,2,3)进行编码为000 011 101。
可以理解的是,还可以对第一叶子节点块在一个方向上的位置坐标值编 码任意一比特位后,对第一叶子节点块在另一个方向上的位置坐标值编码任意一比特位。本申请实施例对方向顺序不做具体限定,对每个方向上比特位的编码顺序也不做具体限定。该方向顺序以及比特位编码顺序可以由编码端与解码端进行规则约定,编码端按照特定顺序进行编码,解码端同样按照该特定顺序解码即可。
通过上述说明可知,若第一块的大小为2
a×2
b×2
c,该第一块的叶子节点块的大小为2
a’×2
b’×2
c’,且在该第一块中,包括点云点的叶子节点块的数量为1的情况下,采用本申请实施例的技术方案,第一块的编码的比特位数量为(a-a’)+(b-b’)+(c-c’)。若第一块的叶子节点块的大小为1×1×1,则采用本申请实施例的技术方案,第一块的编码的比特位数量为a+b+c。
而若采用广度优先的编码方法对第一块进行编码,则需要对第一块进行多叉树划分,根据第一块每一层的划分方式对第一块进行编码。
图6示出了该情况下,第一块经过划分后的第一子树的示意性结构图。
如图6所示,第一块经过多叉树划分后,形成m层的第一子树,m为正整数。在第一子树中,每一层包括点云点的子块数量均为1,如图中阴影块所示,每一层中其它子块均为不包括点云点的子块,如图中空白块所示。
具体地,第一子树的层数m与第一块以及叶子节点块的大小相关。
若第一块为2
a×2
b×2
c的空间块,叶子节点块为2
a’×2
b’×2
c’的空间块,则层数m=max(a,b,c)-max(a’,b’,c’)。可若叶子节点块为1×1×1的空间块,此时,第一子树的层数m=max(a,b,c)。
在一些实施方式中,若a=b=c,第一块为立方体块,叶子节点块为1×1×1的空间块,则若采用广度优先的编码方式,第一块共需要编码8a个比特位。而若采用本申请实施例的方案,通过上文的相关描述可知,第一块共需要编码3a个比特位,少于采用广度优先的编码方式对第一块编码得到的比特位。
类似地,若第一块不为立方体块,叶子节点块为1×1×1的空间块,则若采用广度优先的编码方式,第一块共需要编码2×(a-b)+4×(b-c)+8×c=2a+2b+4c个比特位。而若采用本申请实施例的方案,通过上文的相关描述可知,第一块共需要编码a+b+c个比特位,少于采用广度优先的编码方式对第一块编码得到的比特位。
同样的,在叶子节点块不为1×1×1的空间块时,采用广度优先的编码方式对第一块编码得到的比特位数的计算方法可以参见以上描述,此处不再赘 述。且在叶子节点块不为1×1×1的空间块时,采用本申请实施例的方案编码得到的第一块的比特位同样少于采用广度优先的编码方式对第一块编码得到的比特位。
因此,在第一块中包括点云点的叶子节点块的数量为1的情况下,采用本申请实施例的技术方案,与广度优先的编码方式相比,能够降低第一块的编码比特位,从而节约比特流,提高点云压缩效率。
进一步地,图7示出了另一种点云的编码方法100的示意性流程框图。
如图7所示,上述步骤S121可以包括以下步骤。
S1211:跳过对第一叶子节点块在至少一个方向上的位置坐标值的编码;其中,第一叶子节点块在该至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
在一些实施方式中,跳过对第一叶子节点块在一个方向上的位置坐标值的编码,对第一叶子节点块在另两个方向上的位置坐标值的编码,其中,第一叶子节点块在该一个方向上的位置坐标值与第一叶子节点块在另两个方向中其中一个方向上的位置坐标值相同。
例如,第一叶子节点块的位置坐标为(x
1,y
1,z
1),若x
1=y
1,则只对x
1和y
1中的一个值进行编码,跳过另一个值的编码过程。
在另一些实施方式中,跳过对第一叶子节点块在两个方向上的位置坐标值的编码,对第一叶子节点块在另一个方向上的位置坐标值的编码,其中,第一叶子节点块在三个方向上的位置坐标值相同。
例如,第一叶子节点块的位置坐标为(x
1,y
1,z
1),若x
1=y
1=z
1,则只对x
1,y
1,z
1中的任意一个值进行编码,跳过另两个值的编码过程。
可选地,如图7所示,在本申请实施例中,编码方法100还可以包括以下步骤。
S131:编码第一标识符,该第一标识符用于指示第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
在一些实施方式中,若第一叶子节点块在第一方向和第二方向上的位置坐标值相同,编码第一标识符为第一值;若第一叶子节点块在第一方向和第三方向上的位置坐标值相同,编码第一标识符为第二值;若第一叶子节点块在第二方向和第三方向上的位置坐标值相同,编码第一标识符为第三值;若第一叶子节点块在三个方向上的位置坐标值均相同,编码第一标识符为第四 值。
例如,若第一叶子节点块在X方向和Y方向上的位置坐标值相同,编码第一标识符为1;若第一叶子节点块在X方向和Z方向上的位置坐标值相同,编码第一标识符为2;若第一叶子节点块在Y和Z方向上的位置坐标值相同,编码第一标识符为3;若第一叶子节点块在XYZ三个方向上的位置坐标值均相同,编码第一标识符为0。
可以理解的是,若采用上述方案对第一标识符进行编码,则第一标识符可以编码为2比特位,以区分0-3四个不同的值。
还可以理解的是,上述例子仅示意出一种情况下第一标识符的取值,若第一叶子节点块在X方向和Y方向上的位置坐标值相同,还可以编码第一标识符为0或2或3,或者其它任意值,本申请实施例对第一标识符的取值不做具体限定,对第一标识符的比特位数也不做具体限定。
在另一些实施方式中,第一标识符包括三个标识位,对应于第一叶子节点块在三个方向上的位置坐标值;
若第一叶子节点块在两个方向上的位置坐标值相同,将该两个方向上的位置坐标值对应的第一标识符中的两个标识位编码为相同值;
若第一叶子节点块在两个方向上的位置坐标值不同,将该两个方向上的位置坐标值对应的第一标识符中的两个标识位编码为不同值。
例如,若第一叶子节点块在X方向和Y方向上的位置坐标值相同,编码第一标识符为110,第一标识符中,对应于X方向和Y方向上的标识位为相同值1,而对应于Z方向上的标识位为不同值0。
类似地,若第一叶子节点块在X方向和Z方向上的位置坐标值相同,编码第一标识符为101;若第一叶子节点块在Y和Z方向上的位置坐标值相同,编码第一标识符为011;若第一叶子节点块在XYZ三个方向上的位置坐标值均相同,编码第一标识符为111。
可选地,若第一叶子节点块在三个方向上的位置坐标值互不相同,则可以省略该第一标识符的编码,直接对第一叶子节点块在三个方向上的位置坐标值进行编码。也可以将第一标识符编码为特定值,以区分上述第一叶子节点的位置坐标值存在相同值的情况。
可选地,该第一标识符编码后的码流可以位于第一叶子节点块的位置坐标的码流之前。例如,该第一标识符编码后的码流可以连接于第一叶子节点 块的位置坐标的码流之前。
采用本申请实施例的方法,能够进一步减小编码比特位数,提高编解码效率。
上文结合图5至图7说明了第一块中包括点云点的叶子节点块的数量为1的情况,下面,结合图8至图11说明第一块中包括点云点的叶子节点块的数量为2的情况,该2个包括点云点的叶子节点块也写为第一叶子节点块和第二叶子节点块。
图8示出了另一种点云的编码方法100的示意性流程框图。
如图8所示,上述步骤S110可以包括以下步骤。
S112:确定点云经过多叉树划分后的第一块,其中,该第一块中包括第一叶子节点块和第二叶子节点块。
上述步骤S120可以包括以下步骤。
S122:分别对第一叶子节点块和第二叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成第一块的第一码流。
具体地,对第二叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码的过程可以参见上文中对第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码的过程,此处不再赘述。
在该第一块中,包括点云点的叶子节点块的数量为2的情况下,若第一块的大小为2
a×2
b×2
c,该第一块的叶子节点块的大小为2
a’×2
b’×2
c’,采用本申请实施例的技术方案,第一块的编码的比特位数量为2×(a-a’)+2×(b-b’)+2×(c-c’)。若第一块的叶子节点块的大小为1×1×1,则采用本申请实施例的技术方案,第一块的编码的比特位数量为2a+2b+2c。
而若采用广度优先的编码方法对第一块进行编码,则需要对第一块进行多叉树划分,根据第一块每一层的划分方式对第一块进行编码。
图9和图10示出了该情况下,第一块经过划分后的第一子树的两种示意性结构图。在第一子树中,包括点云点的子块如图中阴影块所示,不包括点云点的子块如图中空白块所示。
在图9中,除叶子节点层以外,第一子树的每一层包括点云点的子块数量均为1,在叶子节点层,包括点云点的子块数量为2,分别为上述第一叶子节点块和第二叶子节点块。在图10中,从第0层(即第一块)至第i层中,每一层包括点云点的子块数量为1,从第i+1层至第m层,每一层包括点云 点的子块数量为2,其中,1≤i<m,i为正整数。
因此,在图10中,从第i层至第m-1层,每一层需要对2个子块的划分情况进行编码,而在图9所示的第一子树中,只有第m-1层才需要对2个子块的划分情况进行编码,若采用广度优先的编码方式,图9中第一子树的编码比特位最少,或者说第一块的编码比特位最少。
对于图9中的第一子树,若第一块为2
a×2
a×2
a的立方体空间块,其叶子节点块为1×1×1的空间块,若采用广度优先的编码方式,则第一块共需要编码8a+8个比特位。而若采用本申请实施例的方案,第一块共需要编码6a个比特位,少于采用广度优先的编码方式对第一块编码得到的比特位。
类似地,若第一块为2
a×2
b×2
c的非立方体空间块,其叶子节点块为1×1×1的空间块,若采用广度优先的编码方式,则第一块共需要编码2×(a-b)+4×(b-c)+8×(c-1)+16=2a+2b+4c+8比特位。而若采用本申请实施例的方案,第一块共需要编码2a+2b+2c个比特位,少于采用广度优先的编码方式对第一块编码得到的比特位。
同样的,在第一块的叶子节点块不为1×1×1的空间块时,采用本申请实施例的方案编码得到的第一块的比特位同样少于采用广度优先的编码方式对第一块编码得到的比特位。
因此,在第一块中包括点云点的叶子节点块的数量为2的情况下,采用本申请实施例的技术方案,与广度优先的编码方式相比,同样能够降低第一块的编码比特位,从而节约比特流,提高点云压缩效率。
进一步地,图11示出了另一种点云的编码方法100的示意性流程框图。
如图11所示,上述步骤S122可以包括以下步骤。
S1221:跳过对第二叶子节点块在至少一个方向上的位置坐标值的编码;其中,第二叶子节点块在该至少一个方向上的位置坐标值与第一叶子节点块在该至少一个方向上的位置坐标值相同。
在一些实施方式中,跳过对第二叶子节点块在一个方向上的位置坐标值的编码,对第二叶子节点块在另两个方向上的位置坐标值的编码,其中,第二叶子节点块在该一个方向上的位置坐标值与第一叶子节点块在该一个方向上的位置坐标值相同。
例如,第一叶子节点块的位置坐标为(x
1,y
1,z
1),第二叶子节点块的位置坐标为(x
2,y
2,z
2),对第一叶子节点块的位置坐标编码完成后,在对 第二叶子节点块的位置坐标进行编码时,若x
2=x
1,则跳过对x
2的编码过程,直接对y
2和z
2进行编码。
在另一些实施方式中,跳过对第二叶子节点块在两个方向上的位置坐标值的编码,对第二叶子节点块在另一个方向上的位置坐标值的编码,其中,第二叶子节点块在该两个方向上的位置坐标值分别与第一叶子节点块在该两个方向上的位置坐标值相同。
例如,第一叶子节点块的位置坐标为(x
1,y
1,z
1),第二叶子节点块的位置坐标为(x
2,y
2,z
2),对第一叶子节点块的位置坐标编码完成后,在对第二叶子节点块的位置坐标进行编码时,若x
2=x
1且y
2=y
1,则跳过对x
2和y
2的编码过程,直接对z
2进行编码。
在另一些实施方式中,直接跳过对第二叶子节点块在三个方向上的位置坐标值的编码,其中,第二叶子节点块在三个方向上的位置坐标值分别与第一叶子节点块在三个方向上的位置坐标值相同。例如,第一叶子节点块的位置坐标为(x
1,y
1,z
1),第二叶子节点块的位置坐标为(x
2,y
2,z
2),对第一叶子节点块的位置坐标编码完成后,在对第二叶子节点块的位置坐标进行编码时,若x
2=x
1,y
2=y
1且z
2=z
1,则跳过对第二叶子节点块在三个方向上的位置坐标值的编码。
可选地,如图11所示,在本申请实施例中,编码方法100还可以包括以下步骤。
S132:编码第二标识符,该第二标识符用于指示第二叶子节点块在至少一个方向上的位置坐标值与第一叶子节点块在该至少一个方向上的位置坐标值相同。
在一些实施方式中,该第二标识符包括三个标识位,对应于第二叶子节点块在三个方向上的位置坐标值;
若第二叶子节点块在一个方向上的位置坐标值与第一叶子节点块在一个方向上的位置坐标值相同,将第二叶子节点块在该一个方向上的位置坐标值对应的标识位编码为第一值;
若第二叶子节点块在一个方向上的位置坐标值与第一叶子节点块在该一个方向上的位置坐标值不同,将第二叶子节点块在该一个方向上的位置坐标值对应的标识位编码为第二值。
例如,若第二叶子节点块在X方向上的位置坐标值与第二叶子节点块在 X方向上的位置坐标值相同,编码第二标识符中对应于X方向上位置坐标值的标识位为1,即第一值为1,而若第二叶子节点块在Y方向上的位置坐标值与第二叶子节点块在Y方向上的位置坐标值不同,且第二叶子节点块在Z方向上的位置坐标值与第二叶子节点块在Z方向上的位置坐标值不同,则编码第二标识符中对应于Y方向和Z方向上位置坐标值的标识位为0,即第二值为0,此时,第二标识符编码为100。
除此之外,上述第一值也可以为0,第二值对应可以为1,本申请实施例对第一值与第二值不做具体限定。
可选地,若第二叶子节点块在三个方向上的位置坐标值均与第一叶子节点块在三个方向上的位置坐标值不同,则可以省略该第二标识符的编码,直接对第二叶子节点块在三个方向上的位置坐标值进行编码。也可以将第二标识符编码为特定值,以区分上述第二叶子节点的位置坐标值与第一叶子节点的位置坐标值存在相同值的情况。
可选地,该第二标识符编码后的码流可以位于第二叶子节点块的位置坐标的码流之前。例如,该第二标识符的码流可以连接于第二叶子节点块的位置坐标的码流之前;或者,该第二标识符的码流还可以连接于上述第一标识符的码流之前或者之后,然后是第一叶子节点块的位置坐标的码流和第二叶子节点块的位置坐标的码流。本申请实施例对第二标识符的码流的位置不做具体限定。
进一步地,若第二叶子节点块在三个方向上的位置坐标值均与第一叶子节点块在三个方向上的位置坐标值不同,但第二叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同,则也可以跳过对第二叶子节点块在至少一个方向上的位置坐标值的编码。
具体地,在该情况下,第二叶子节点块的位置坐标的编码可以参见上文中第一叶子节点块的位置坐标的编码过程,例如参见上文步骤S1211以及S131的相关描述,此处不再赘述。
采用本申请实施例的方法,能够进一步减小编码比特位数,提高编解码效率。
图12示出了另一种点云的编码方法100的示意性流程框图。
如图12所示,上述步骤S120还可以包括以下步骤。
S123:采用深度优先的目标编码方式对叶子节点块在第一块中的位置坐 标以及叶子节点块中的点云点的数量进行编码,以形成第一块的第一码流。
具体地,若第一块中包括点云点的叶子节点块的数量为1,即仅包括第一叶子节点块时,在对第一叶子节点块的位置坐标进行编码之后,对该第一叶子节点块中点云点的数量进行编码。
类似地,若第一块中包括点云点的叶子节点块的数量为2,即包括第一叶子节点块和第二叶子节点块时,在对第一叶子节点块和第二叶子节点块的位置坐标进行编码之后,分别对该第一叶子节点块和第二叶子节点块中点云点的数量进行编码。
在一些实施方式中,若第一叶子节点块中点云点的数量与第二叶子节点块中点云点的数量相等,则可以跳过对第二叶子节点块中点云点的数量的编码过程,或者说,将第一叶子节点块中点云点的数量与第二叶子节点块中点云点的数量编码为同一个值。
作为一种可能的实施方式,若叶子节点块中点云点的数量为n,则对n-1进行编码,其中,n为正整数。
可以理解的是,可以采用现有技术中任意一种二值化方法对上述点云点的数量进行二值化处理,然后再进行熵编码后续过程,得到点云点的数量码流。
其中,该二值化方法包括但不限于定长码编码方法或者变长码编码方法。该变长码编码方法包括但不限于截断莱斯码、K阶指数哥伦布、一元码等等编码方法。该定长码编码方法和变长码编码方法可以参见现有技术中的相关描述,此处不再赘述。
如图12所示,该点云的编码方法100还可以包括以下步骤。
S140:对点云中第二块进行编码以形成第二码流,在广度优先的编码顺序上,第二块位于第一块之后。
对点云中的第一块编码后,按照广度优先的编码顺序对点云中除第一块外其它的子块进行编码。
具体地,对点云中的第一块编码后,对点云中第二块进行编码以形成第二码流,在广度优先的编码顺序上,第二块位于第一块之后。
然后,仍旧按照广度优先编码方式,依次对点云经过多叉树划分后的树结构中的每一层子块进行编码,当编码至第一块中的子块时,则跳过对第一块中子块的编码。
可选地,在对点云中除第一块外其它子块进行编码时,也可以在对其它子块编码之前,判断其是否满足预设条件,若满足预设条件,则也可以采用上述方法进行编码。换言之,点云的树结构中可以包括多个上述第一块,在采用广度优先遍历顺序遍历点云的树结构时,可以在每个第一块处,切换至深度优先遍历顺序,对第一块中的叶子节点块的位置坐标进行编码。
上文主要描述了第一块的相关编码过程,由于第一块的编码方式不同于点云中其它子块的编码方式,因此,在对第一块进行编码之前,需要对该第一块的编码方式进行标识,方便解码端解码得到相关信息。
图13示出了另一种点云的编码方法100的示意性流程框图。
如图13所示,该点云的编码方法100还可以包括以下步骤。
S150:对第三标识符进行编码,该第三标识符用于标识深度优先的目标编码方式。
如图13所示,该步骤150可以在步骤S110之后执行,即确定第一块后,对标识目标编码方式的标识符,即第三标识符进行编码。
可选地,该第三标识符可以为任意形式的标识符,例如,可以为数字、字母或者字符,本申请实施例对此不做具体限定。
在一些实施方式中,第三标识符可以用于标识该目标编码方式为多种深度优先的编码方式的一种,其中,深度优先的编码方式包括但不限于是本申请中的目标编码方式以及孤立点直接编码方式。
因此,本申请实施例中的第三标识符可以用于区分目标编码方式与其他深度优先的编码方式。
例如,用于标识孤立点直接编码方式的标识符为0,本申请中用于标识目标编码方式的第一标识为1。
当然,第三标识符不仅仅可以用于标识目标编码方式为多种深度优先的编码方式的哪一种,还可以用于标识目标编码方式为全部编码方式中的哪一种。
可选地,可以采用现有技术中任意一种二值化方法对上述第三标识符进行二值化处理,然后再进行熵编码后续过程,得到第三标识符码流。
在一些实施方式中,第三标识符的码流位于第一块的第一码流之前。
在另一些实施方式中,第一标识码流也可以位于点云的几何头码流中。
在此情况下,若点云的几何头信息中不包括用于标识其它编码方式的标 识符,则该第三标识符除了标识第一块的编码方式为目标编码方式以外,还可以用于标识点云中其它符合预设条件的块的编码方式为目标编码方式。
在第三种实施方式中,第三标识符的码流还可以同时位于的第一码流之前以及几何头码流中。
在此情况下,位于几何头码流中的第三标识符的码流用于标识点云中可以采用目标编码方式进行编码,而位于第一码流之前的第三标识符的码流用于标识第一块的编码方式为目标编码方式。
可选地,如图13所示,该点云的编码方法100还可以包括以下步骤。
S160:对第四标识符进行编码,该第四标识符用于标识编码方式由广度优先切换至深度优先。
具体地,在采用上述第三标识符的基础上,还可以在该第三标识符之前增加第四标识符,用于标识编码方式由广度优先切换至深度优先。
可选地,可以划分方式对第四标识符进行编码,若第一块是采用八叉树划分得到的,第四标识符可以编码为8bit 0,若第一块是采用四叉树划分得到的,第四标识符可以编码为4bit 0,若第一块是采用二叉树划分得到的,第四标识符可以编码为2bit 0。
可选地,编码后的第四标识符的码流位于上述第一块的第一码流之前。
进一步地,若第三标识符的码流也位于上述第一码流之前,该第四标识符的码流位于上述第三标识符的码流之前。
上文结合图4至图13说明了本申请中点云的编码方法,下面结合图14至图21,说明本申请中点云的解码方法,可以理解的是,本申请实施例中点云的解码方法为上述编码方法的逆过程,其中相关的技术方案可以参考上文中编码方法的相关描述。
图14示出了一种点云的解码方法200的示意性流程框图。
如图14所示,该点云的解码方法200可以包括以下步骤。
S210:接收第一块的第一码流,该第一块为点云经过多叉树划分后的空间块。
S220:采用深度优先的目标解码方式对第一码流进行解码得到第一块中包括点云点的叶子节点块的位置坐标;其中,叶子节点块的数量不大于N,N为根据第一块的划分方式确定的正整数。
具体地,该第一码流可以为上文中采用点云的编码方法100编码得到的 第一块的第一码流。对应于上文中的编码方法100,在本申请实施例中,接收第一码流之后,采用深度优先的目标解码方式对该第一码流进行解码,可以重建得到点云经过多叉树划分后其中的第一块中包括点云点的叶子节点块的位置坐标。
在一些实施例中,第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,则N≤2。
具体地,在一些情况下,第一块中包括点云点的叶子节点块的数量为1,该1个包括点云点的叶子节点块为第一叶子节点块。在另一些情况下,第一块中包括点云点的叶子节点块的数量为2,该2个包括点云点的叶子节点块为第一叶子节点块和第二叶子节点块。
采用本申请实施例的方法,能够摆脱广度优先的解码方式对于编码顺序的严格要求,有利于点云解码过程的并行化,提高解码效率。
另外,由于编码端对于第一块的编码方法能够降低第一子树的编码比特位,即降低第一码流的长度,因此,采用对应的解码方法也能够较为快速的对第一码流进行解码,从而进一步提高解码效率。
图15示出了另一种点云的解码方法200的示意性流程框图。
如图15所示,上述步骤S210可以包括以下步骤。
S211:接收第一块的第一码流,其中,该第一码流包括第一叶子节点块的位置坐标码流。
上述步骤S220可以包括以下步骤。
S221:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值。
对应于上文编码方法中的步骤S111以及S121,在本申请实施例中,对第一叶子节点块的位置坐标码流进行解码,可以得到第一叶子节点块分别在第一块中X,Y,Z三个方向上的位置坐标。
可选地,在第一叶子节点块的位置坐标码流中,第一叶子节点块在一个方向上的位置坐标值码流之后,排列有第一叶子节点块在另一个方向上的位置坐标值码流。在对第一叶子节点块的位置坐标值的码流进行解码时,首先解码得到第一叶子节点块在一个方向上的位置坐标值,然后解码得到第一叶子节点块在另一个方向上的位置坐标值。
例如,在第一叶子节点块的位置坐标码流中,依次排列第一叶子节点块 在XYZ三个方向上的位置坐标值的码流,则对第一叶子节点块的位置坐标值的码流进行解码,首先解码得到第一叶子节点块在X方向上的位置坐标值,然后解码得到第一叶子节点块在Y方向上的位置坐标值,最后解码得到第一叶子节点块在Z方向上的位置坐标值。
当然,在第一叶子节点块的位置坐标码流中,也可以依次排列第一叶子节点块在YXZ,ZYX等三个方向上的位置坐标值的码流,本申请实施例对方向顺序不做具体限定。
可选地,在第一叶子节点块的位置坐标码流中,第一叶子节点块在一个方向上的位置坐标值的1比特位之后,排列有第一叶子节点块在另一个方向上的位置坐标值的1比特位。
在一种实施方式中,在第一叶子节点块的位置坐标码流中,第一叶子节点块在一个方向上的位置坐标值的低比特位位于高比特位之前。
在另一种实施方式中,在第一叶子节点块的位置坐标码流中,第一叶子节点块在一个方向上的位置坐标值的高比特位位于低比特位之前。
可以理解的是,在第一叶子节点块的位置坐标码流中,第一叶子节点块在一个方向上的位置坐标值的任意一比特位后,排列有第一叶子节点块在另一个方向上的位置坐标值的任意一比特位。本申请实施例对方向顺序不做具体限定,对每个方向上比特位的排列顺序也不做具体限定。该方向顺序以及比特位排列顺序可以由编码端与解码端进行规则约定,编码端按照特定顺序进行编码,解码端同样按照该特定顺序解码即可。
进一步地,在一些实施方式中,图16示出了另一种点云的解码方法200的示意性流程框图。
如图16所示,上述步骤S221可以包括以下步骤。
S2211:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在一个方向上的位置坐标值。
S2212:将第一叶子节点块在该一个方向上的位置坐标值作为第一叶子节点块在另两个方向上的位置坐标值。
对应于上文编码方法中的步骤S1211,在本实施方式中,第一叶子节点块在三个方向上的位置坐标值相同。
例如,对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在一个方向上的位置坐标值为a,则第一叶子节点块在第一块中的位置坐 标为(a,a,a)。
进一步地,在另一些实施方式中,图17示出了另一种点云的解码方法200的示意性流程框图。
如图17所示,上述步骤S221可以包括以下步骤。
S2213:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在两个方向上的位置坐标值。
S2214:将第一叶子节点块在该两个方向上的位置坐标值中的一个位置坐标值作为第一叶子节点块在另一个方向上的位置坐标值。
对应于上文编码方法中的步骤S1211,在本实施方式中,该两个方向上的位置坐标值中的一个位置坐标值与第一叶子节点块在该另一个方向上的位置坐标值相同。
例如,对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在X方向上的位置坐标值为x
1,在Y方向上的位置坐标值为y
1,且第一叶子节点块在X方向上的位置坐标值与在Z方向上的位置坐标值相同,则第一叶子节点块的位置坐标为(x
1,y
1,x
1)。
可选地,如图16和图17所示,在本申请实施例中,上述步骤S211可以包括以下步骤。
S2111:接收第一块的第一码流,其中,该第一码流包括第一叶子节点块的位置坐标码流和第一标识符码流。
此外,编码方法100还可以包括以下步骤。
S231:对第一标识符码流进行解码,得到第一标识符,该第一标识符用于指示第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
对应于上文编码方法中的步骤S131,该第一标识符的相关技术方案可以参见上文编码方法中的相关描述,此处不再赘述。
上文结合图15至图17说明了第一码流包括第一叶子节点块的位置坐标码流的情况,下面,结合图18至图19说明第一码流包括第一叶子节点块和第二叶子节点块的位置坐标码流的情况。
图18示出了另一种点云的解码方法200的示意性流程框图。
在本申请实施例中,第一码流包括第一叶子节点块和第二叶子节点块的位置坐标码流。
如图18所示,上述步骤S210可以包括以下步骤。
S212:接收第一块的第一码流,其中,该第一码流包括第一叶子节点块和第二叶子节点块的位置坐标码流。
上述步骤S220可以包括以下步骤。
S222:对第一叶子节点块和第二叶子节点块的位置坐标码流进行解码,得到第一叶子节点块和第二叶子节点块在第一块的坐标系中的三个方向上的位置坐标值。
对应于上文编码方法中的步骤S112以及S122,在本申请实施例中,对第二叶子节点块的位置坐标码流进行解码,可以得到第二叶子节点块分别在第一块中X,Y,Z三个方向上的位置坐标。
具体地,对第二叶子节点块的位置坐标码流进行解码得到第二叶子节点在第一块的坐标系中的三个方向上的位置坐标值的过程,可以参见上文中对第一叶子节点块的位置坐标码流进行解码得到第一叶子节点在第一块的坐标系中的三个方向上的位置坐标值的过程,此处不再赘述。
进一步地,图19示出了另一种点云的解码方法200的示意性流程框图。
如图19所示,上述步骤S212可以包括以下步骤。
S2121:接收第一块的第一码流,其中,该第一码流包括第一叶子节点块的位置坐标码流、和第二叶子节点块的位置坐标码流和第二标识符码流。
此外,上述步骤S222可以包括以下步骤。
S2221:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值。
S2221:将第一叶子节点块在至少一个方向上的位置坐标值作为第二叶子节点块在至少一个方向上的位置坐标值。
对应于上文编码方法中的步骤S1221,在本申请实施例中,第二叶子节点块的位置坐标码流中不包括第二叶子节点块在至少一个方向上的位置坐标值。第一叶子节点块在该至少一个方向上的位置坐标值与第二叶子节点块在该至少一个方向上的位置坐标值相同。
在一些实施方式中,第二叶子节点块的位置坐标码流中不包括第二叶子节点块在一个方向上的位置坐标值,包括第二叶子节点块在另两个方向上的位置坐标值,其中,第二叶子节点块在该一个方向上的位置坐标值与第一叶子节点块在该一个方向上的位置坐标值相同,将第一叶子节点块在该一个方 向上的位置坐标值作为第二叶子节点块在该一个方向上的位置坐标值。
在另一些实施方式中,第二叶子节点块的位置坐标码流中不包括第二叶子节点块在两个方向上的位置坐标值,包括第二叶子节点块在另一个方向上的位置坐标值,其中,第二叶子节点块在该两个方向上的位置坐标值分别与第一叶子节点块在该两个方向上的位置坐标值相同,将第一叶子节点块在该两个方向上的位置坐标值分别作为第二叶子节点块在该两个方向上的位置坐标值。
在另一些实施方式中,第一码流中不包括第二叶子节点块的位置坐标码流,则第二叶子节点块在三个方向上的位置坐标值分别与第一叶子节点块在三个方向上的位置坐标值相同,将第一叶子节点块在三个方向上的位置坐标值分别作为第二叶子节点块在三个方向上的位置坐标值。
可选地,如图19所示,在本申请实施例中,解码方法200还可以包括以下步骤。
S232:对第二标识符码流进行解码,得到第二标识符,该第二标识符用于指示第二叶子节点块在至少一个方向上的位置坐标值与第一叶子节点块在该至少一个方向上的位置坐标值相同。
对应于上文编码方法中的步骤S132,该第二标识符的相关技术方案可以参见上文编码方法中的相关描述,此处不再赘述。
图20示出了另一种点云的解码方法200的示意性流程框图。
如图20所示,上述步骤S210可以包括以下步骤。
S213:接收第一块的第一码流,该第一块为点云经过多叉树划分后的空间块,该第一码流包括叶子节点块的位置坐标码流和点云点数量码流。
上述步骤S220可以包括以下步骤。
S223:采用深度优先的目标解码方式对叶子节点块的位置坐标码流进行解码得到第一块中包括点云点的叶子节点块的位置坐标,并对点云点数量码流进行解码得叶子节点块中的点云点的数量,其中,叶子节点块的数量不大于N,N为根据第一块的划分方式确定的正整数。
对应于上文编码方法中的步骤S123。具体地,若第一块中包括点云点的叶子节点块的数量为1,则第一码流中仅包括第一叶子节点块的位置坐标码流和第一叶子节点块中点云点的数量码流。
类似地,若第一块中包括点云点的叶子节点块的数量为2,则第一码流 中包括第一叶子节点块和第二叶子节点块的位置坐标码流,第一叶子节点块中点云点的数量码流,以及第二叶子节点块中点云点的数量码流。
在一些实施方式中,若第一叶子节点块中点云点的数量与第二叶子节点块中点云点的数量相等,则第一码流中也可以不包括第二叶子节点块中点云点的数量码流,将对第一叶子节点块中点云点的数量码流解码得到第一叶子节点块中点云点的数量作为第二叶子节点块中点云点的数量。
作为一种可能的实施方式,对点云点的数量码流解码得到的数值为n-1,则叶子节点块中点云点的数量为n,其中,n为正整数。
如图20所示,该点云的解码方法200还可以包括以下步骤。
S240:接收第二块的第二码流,对该第二码流进行解码得到第二块中的点云点位置,其中,在广度优先的解码顺序上,第二块位于第一块之后。
对应于上文编码方法中的步骤S140。在本申请实施例中,第二码流解码的相关方案可以参见上文描述,此处不再赘述。
上文主要描述了第一码流的相关解码过程,由于第一码流的解码方式不同于点云中码流的解码方式,因此,在对第一码流进行解码之前,需要对相关标识码流进行解码,得到该第一码流的解码方式的相关信息。
图21示出了另一种点云的解码方法200的示意性流程框图。
如图21所示,该点云的解码方法200还可以包括以下步骤。
S250:接收第三标识符码流,对该第三标识符码流进行解码得到第三标识符,该第三标识符用于标识深度优先的目标解码方式,该目标解码方式为对应于深度优先的目标编码方式的解码方式。
如图21所示,该步骤250可以在步骤S210之前执行,即在接收第一码流之前,接收到第三标识符码流,并对该第三标识符码流解码可以得到后续对第一码流的解码方式。
对应于上文编码方法中的步骤S150。在本申请实施例中,第三标识符的相关方案可以参见上文描述,此处不再赘述。
S260:接收第四标识符码流,对第四标识符码流进行解码得到第四标识符,该第四标识符用于标识解码方式由广度优先切换至深度优先。
可选地,在接收第三标识符码流之前,还可以接收第四标识符码流,对该第四标识符码流解码得到第四标识符,该第四标识符用于标识解码方式由广度优先切换至深度优先。
对应于上文编码方法中的步骤S160。在本申请实施例中,第四标识符的相关方案可以参见上文描述,此处不再赘述。
上文结合图4至图21,详细描述了本申请的方法实施例,下文结合图22和图23,详细描述本申请的点云的编解码装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
图22是根据本申请实施例的点云的编码装置10的示意性框图,该点云的编码装置10对应于点云的编码方法100。
如图22所示,该点云的编码装置10包括:处理器11和存储器12;
存储器12可用于存储程序,处理器11可用于执行存储器中存储的程序,以执行如下操作:
确定点云经过多叉树划分后的第一块,其中,第一块中包括点云点的叶子节点块的数量不大于N,N为根据第一块的划分方式确定的正整数;采用深度优先的目标编码方式对叶子节点块在第一块中的位置坐标进行编码以形成第一块的第一码流。
可选地,第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
在一种情况下,第一块中包括第一叶子节点块,第一叶子节点块为包括点云点的叶子节点块;处理器11具体用于:分别对第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成第一块的第一码流。
可选地,处理器11具体用于:若第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同,跳过对第一叶子节点块在至少一个方向上的位置坐标值的编码。
进一步的,处理器11还用于:编码第一标识符,第一标识符用于指示第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
例如,处理器11用于:若第一叶子节点块在第一方向和第二方向上的位置坐标值相同,编码第一标识符为第一值;若第一叶子节点块在第一方向和第三方向上的位置坐标值相同,编码第一标识符为第二值;若第一叶子节点块在第二方向和第三方向上的位置坐标值相同,编码第一标识符为第三值;若第一叶子节点块在三个方向上的位置坐标值均相同,编码第一标识符 为第四值。
又例如,第一标识符包括三个标识位,对应于第一叶子节点块在三个方向上的位置坐标值;处理器11用于:若第一叶子节点块在两个方向上的位置坐标值相同,将两个方向上的位置坐标值对应的第一标识符中的两个标识位编码为相同值;若第一叶子节点块在两个方向上的位置坐标值不同,将两个方向上的位置坐标值对应的第一标识符中的两个标识位编码为不同值。
可选地,上述第一标识符的码流位于第一叶子节点块的位置坐标的码流之前。
在另一种情况下,第一块中还包括第二叶子节点块,第二叶子节点块为包括点云点的叶子节点块;处理器11用于:分别对第一叶子节点块和第二叶子节点块在第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成第一块的第一码流。
可选地,若第二叶子节点块在至少一个方向上的位置坐标值与第一叶子节点块在至少一个方向上的位置坐标值相同,处理器11用于:跳过对第二叶子节点块在至少一个方向上的位置坐标值的编码。
可选地,处理器11还用于:编码第二标识符,第二标识符用于指示第二叶子节点块在至少一个方向上的位置坐标值与第一叶子节点块在至少一个方向上的位置坐标值相同。
例如,第二标识符包括三个标识位,对应于第二叶子节点块在三个方向上的位置坐标值;处理器11用于:若第二叶子节点块在一个方向上的位置坐标值与第一叶子节点块在一个方向上的位置坐标值相同,将第二叶子节点块在一个方向上的位置坐标值对应的标识位编码为第一值;若第二叶子节点块在一个方向上的位置坐标值与第一叶子节点块在一个方向上的位置坐标值不同,将第二叶子节点块在一个方向上的位置坐标值对应的标识位编码为第二值。
可选地,第二标识符的码流位于第一叶子节点块和第二叶子节点块的位置坐标的码流之前。
在一些实施方式中,在XYZ三个方向上,第一块为2
a×2
b×2
c的空间块,叶子节点块为2
a’×2
b’×2
c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为整数;则处理器11用于:采用(a-a’)个比特位对叶子节点块在X方向上的位置坐标值进行编码;采用(b-b’)个比特位对叶子节点块 在Y方向上的位置坐标值进行编码;采用(c-c’)个比特位对叶子节点块在Z方向上的位置坐标值进行编码。
具体地,若a’=b’=c’=0,叶子节点块为1×1×1的空间块;则处理器11用于:采用a个比特位对叶子节点块在X方向上的位置坐标进行编码;采用b个比特位对叶子节点块在Y方向上的位置坐标进行编码;采用c个比特位对叶子节点块在Z方向上的位置坐标进行编码。
可选地,处理器11用于:对叶子节点块在一个方向上的位置坐标值编码完成后,对叶子节点块在另一个方向上的位置坐标值进行编码。
可选地,处理器11用于:对叶子节点块在一个方向上的位置坐标值编码一比特位后,对叶子节点块在另一个方向上的位置坐标值编码一比特位。
例如,处理器11用于:对叶子节点块在一个方向上的位置坐标值编码最低比特位后,对叶子节点块在另一个方向上的位置坐标值编码最低比特位;或者,对叶子节点块在一个方向上的位置坐标值编码最高比特位后,对叶子节点块在另一个方向上的位置坐标值编码最高比特位。
可选地,处理器11还用于:对叶子节点块中的点云点的数量进行编码。
可选地,处理器11还用于:对第三标识符进行编码,第三标识符用于标识深度优先的目标编码方式。
具体地,第三标识符的码流可以位于第一块的第一码流之前;和/或,第三标识符的码流位于点云的几何头码流中。
可选地,处理器11还用于:对第四标识符进行编码,第四标识符用于标识编码方式由广度优先切换至深度优先。
例如,处理器11用于:若第一块是采用八叉树划分得到的,对第四标识符编码为八比特0;或者,若第一块是采用四叉树划分得到的,对第四标识符编码为四比特0;或者,若第一块是采用二叉树划分得到的,对第四标识符编码为二比特0。
可选地,第四标识码符位于第三标识符之前。
可选地,处理器11还用于:对点云中第二块进行编码以形成第二码流,在广度优先的编码顺序上,第二块位于第一块之后。
图23是根据本申请实施例的点云的解码装置20的示意性框图,该点云的解码装置20对应于点云的解码方法200。
如图23所示,该点云的解码装置20包括:处理器21和存储器22;
存储器22可用于存储程序,处理器21可用于执行存储器中存储的程序,以执行如下操作:
接收第一块的第一码流,第一块为点云经过多叉树划分后的空间块;采用深度优先的目标解码方式对第一码流进行解码得到第一块中包括点云点的叶子节点块的位置坐标;其中,叶子节点块的数量不大于N,N为根据第一块的划分方式确定的正整数。
在一些实施方式中,第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
在一种情况下,第一码流包括:第一叶子节点块的位置坐标码流,第一叶子节点块为包括点云点的叶子节点块;处理器21用于:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值。
可选地,处理器21用于:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在一个方向或者两个方向上的位置坐标值;将第一叶子节点块在一个方向上的位置坐标值作为第一叶子节点块在另两个方向上的位置坐标值;或者,将第一叶子节点块在两个方向上的位置坐标值中的一个位置坐标值作为第一叶子节点块在另一个方向上的位置坐标值。
可选地,第一码流还包括第一标识符码流,处理器21还用于:对第一标识符码流进行解码,得到第一标识符,第一标识符用于指示第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
在一些实施例中,若第一标识符为第一值,第一标识符用于指示第一叶子节点块在第一方向和第二方向上的位置坐标值相同;若第一标识符为第二值,第一标识符用于指示第一叶子节点块在第一方向和第三方向上的位置坐标值相同;若第一标识符为第三值,第一标识符用于指示第一叶子节点块在第二方向和第三方向上的位置坐标值相同;若第一标识符为第四值,第一标识符用于指示第一叶子节点块在三个方向上的位置坐标值均相同。
在另一些实施例中,第一标识符包括三个标识位,对应于第一叶子节点块在三个方向上的位置坐标值;若第一标识符中的两个标识位编码为相同值,第一叶子节点块在对应于两个标识位的两个方向上的位置坐标值相同;
若第一标识符中的两个标识位编码为不同值,第一叶子节点块在对应于两个标识位的两个方向上的位置坐标值不同。
可选地,在第一码流中,第一标识符码流位于第一叶子节点块的位置坐标码流之前。
在另一种情况下,除了第一叶子节点块的位置坐标码流外,第一码流还包括:第一块中包括点云点的第二叶子节点块的位置坐标码流;处理器21用于:对第一叶子节点块的位置坐标码流和第二叶子节点块的位置坐标码流进行解码,得到第一叶子节点块和第二叶子节点块在第一块的坐标系中的三个方向上的位置坐标值。
可选地,若第二叶子节点块的位置坐标码流不包括第二叶子节点块在至少一个方向上的位置坐标值;处理器21用于:对第一叶子节点块的位置坐标码流进行解码,得到第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值;将第一叶子节点块在至少一个方向上的位置坐标值作为第二叶子节点块在至少一个方向上的位置坐标值。
进一步地,第一码流还包括第二标识符码流,处理器21还用于:对第二标识符码流进行解码,得到第二标识符,第二标识符用于指示第二叶子节点块在至少一个方向上的位置坐标值与第一叶子节点块在至少一个方向上的位置坐标值相同。
例如,第二标识符包括三个标识位,对应于第二叶子节点块在三个方向上的位置坐标值;若第二标识符中一个标识位为第一值,第二叶子节点块在一个标识位对应的一个方向上的位置坐标值与第一叶子节点块在一个方向上的位置坐标值相同;若第二标识符中一个标识位为第二值,第二叶子节点块在一个标识位对应的一个方向上的位置坐标值与第一叶子节点块在一个方向上的位置坐标值不同。
可选地,在第一码流中,第二标识符码流位于第一叶子节点块的位置坐标码流和第二叶子节点块的位置坐标码流之前。
在一些实施方式中,在XYZ三个方向上,第一块为2
a×2
b×2
c的空间块,叶子节点块为2
a’×2
b’×2
c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为正整数;在第一码流中,叶子节点块在X方向上的位置坐标值包括(a-a’)个比特位;叶子节点块在Y方向上的位置坐标值包括(b-b’)个比特位;叶子节点块在Z方向上的位置坐标值包括(c-c’)个比特位。
具体地,若a’=b’=c’=0,叶子节点块为1×1×1的空间块;在第一码流中,叶子节点块在X方向上的位置坐标值包括a个比特位;叶子节点块在Y方 向上的位置坐标值包括b个比特位;叶子节点块在Z方向上的位置坐标值包括c个比特位。
可选地,在第一码流中,叶子节点块在一个方向上的位置坐标值码流之后,排列有叶子节点块在另一个方向上的位置坐标值码流。
可选地,在第一码流中,叶子节点块在一个方向上的位置坐标值的一比特位之后,排列有叶子节点块在另一个方向上的位置坐标值的一比特位。
例如,在第一码流中,叶子节点块在一个方向上的位置坐标值的低比特位位于高比特位之前;或者,叶子节点块在一个方向上的位置坐标值的高比特位位于低比特位之前。
可选地,第一码流还包括:点云点数量码流,处理器21还用于:对点云点数量码流进行解码得到叶子节点块中的点云点的数量。
可选地,处理器21还用于:接收第三标识符码流;对第三标识符码流进行解码得到第三标识符,第三标识符用于标识深度优先的目标解码方式。
具体地,第三标识符码流可以位于第一块的第一码流之前;和/或,第三标识符码流也可以位于点云的几何头码流中。
可选地,处理器21还用于:接收第四标识符码流;对第四标识符码流进行解码得到第四标识符,第四标识符用于标识解码方式由广度优先切换至深度优先。
例如,若第一块是采用八叉树划分得到的,第四标识符为八比特0;或者,若第一块是采用四叉树划分得到,第四标识符为四比特0;或者,若第一块是采用二叉树划分得到的,第四标识符为二比特0。
可选地,第四标识码符流位于第三标识符码流之前。
可选地,处理器21还用于:接收第二块的第二码流,在广度优先的解码顺序上,第二块位于第一块之后;对第二码流进行解码得到第二块中的点云点位置。
本申请还提供了一种电子设备或者系统,该电子设备或者系统可以包括上述本申请各种实施例的点云的编码装置和/或解码装置。
本申请还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述方法实施例的方法。
本申请还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (102)
- 一种点云的编码方法,其特征在于,包括:确定点云经过多叉树划分后的第一块,其中,所述第一块中包括点云点的叶子节点块的数量不大于N,N为根据所述第一块的划分方式确定的正整数;采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标进行编码以形成所述第一块的第一码流。
- 根据权利要求1所述的编码方法,其特征在于,所述第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
- 根据权利要求2所述的编码方法,其特征在于,所述第一块中包括第一叶子节点块,所述第一叶子节点块为包括点云点的叶子节点块;所述采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标进行编码以形成所述第一块的第一码流,包括:分别对所述第一叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成所述第一块的第一码流。
- 根据权利要求3所述的编码方法,其特征在于,跳过对所述第一叶子节点块在至少一个方向上的位置坐标值的编码;其中,所述第一叶子节点块在所述至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求4所述的编码方法,其特征在于,所述编码方法还包括:编码第一标识符,所述第一标识符用于指示所述第一叶子节点块在所述至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求5所述的编码方法,其特征在于,若所述第一叶子节点块在第一方向和第二方向上的位置坐标值相同,编码所述第一标识符为第一值;若所述第一叶子节点块在第一方向和第三方向上的位置坐标值相同,编码所述第一标识符为第二值;若所述第一叶子节点块在第二方向和第三方向上的位置坐标值相同,编码所述第一标识符为第三值;若所述第一叶子节点块在三个方向上的位置坐标值均相同,编码所述第 一标识符为第四值。
- 根据权利要求5所述的编码方法,其特征在于,所述第一标识符包括三个标识位,对应于所述第一叶子节点块在三个方向上的位置坐标值;若所述第一叶子节点块在两个方向上的位置坐标值相同,将所述两个方向上的位置坐标值对应的所述第一标识符中的两个标识位编码为相同值;若所述第一叶子节点块在两个方向上的位置坐标值不同,将所述两个方向上的位置坐标值对应的所述第一标识符中的两个标识位编码为不同值。
- 根据权利要求5至7中任一项所述的编码方法,其特征在于,所述第一标识符的码流位于所述第一叶子节点块的位置坐标的码流之前。
- 根据权利要求3至8中任一项所述的编码方法,其特征在于,所述第一块中还包括第二叶子节点块,所述第二叶子节点块为包括点云点的叶子节点块;所述采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标进行编码以形成所述第一块的第一码流,包括:分别对所述第一叶子节点块和所述第二叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成所述第一块的第一码流。
- 根据权利要求9所述的编码方法,其特征在于,跳过对所述第二叶子节点块在至少一个方向上的位置坐标值的编码;其中,所述第二叶子节点块在所述至少一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求10所述的编码方法,其特征在于,所述编码方法还包括:编码第二标识符,所述第二标识符用于指示所述第二叶子节点块在至少一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求11所述的编码方法,其特征在于,所述第二标识符包括三个标识位,对应于所述第二叶子节点块在三个方向上的位置坐标值;若所述第二叶子节点块在一个方向上的位置坐标值与所述第一叶子节点块在一个方向上的位置坐标值相同,将所述第二叶子节点块在所述一个方向上的位置坐标值对应的标识位编码为第一值;若所述第二叶子节点块在一个方向上的位置坐标值与所述第一叶子节点块在一个方向上的位置坐标值不同,将所述第二叶子节点块在所述一个方向上的位置坐标值对应的标识位编码为第二值。
- 根据权利要求11或12所述的编码方法,其特征在于,所述第二标识符的码流位于所述第一叶子节点块和所述第二叶子节点块的位置坐标的码流之前。
- 根据权利要求1至13中任一项所述的编码方法,其特征在于,在XYZ三个方向上,所述第一块为2 a×2 b×2 c的空间块,所述叶子节点块为2 a’×2 b’×2 c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为整数;所述对所述叶子节点块在所述第一块中的位置坐标进行编码,包括:采用(a-a’)个比特位对所述叶子节点块在X方向上的位置坐标值进行编码;采用(b-b’)个比特位对所述叶子节点块在Y方向上的位置坐标值进行编码;采用(c-c’)个比特位对所述叶子节点块在Z方向上的位置坐标值进行编码。
- 根据权利要求14所述的编码方法,其特征在于,若a’=b’=c’=0,所述叶子节点块为1×1×1的空间块;所述对所述叶子节点块在所述第一块中的位置坐标进行编码,包括:采用a个比特位对所述叶子节点块在X方向上的位置坐标进行编码;采用b个比特位对所述叶子节点块在Y方向上的位置坐标进行编码;采用c个比特位对所述叶子节点块在Z方向上的位置坐标进行编码。
- 根据权利要求1至15中任一项所述的编码方法,其特征在于,所述对所述叶子节点块在所述第一块中的位置坐标进行编码,包括:对所述叶子节点块在一个方向上的位置坐标值编码完成后,对所述叶子节点块在另一个方向上的位置坐标值进行编码。
- 根据权利要求1至15中任一项所述的编码方法,其特征在于,所述对所述叶子节点块在所述第一块中的位置坐标进行编码,包括:对所述叶子节点块在一个方向上的位置坐标值编码一比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码一比特位。
- 根据权利要求17所述的编码方法,其特征在于,所述对所述叶子节点块在一个方向上的位置坐标值编码一比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码一比特位,包括:对所述叶子节点块在一个方向上的位置坐标值编码最低比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码最低比特位;或者,对所述叶子节点块在一个方向上的位置坐标值编码最高比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码最高比特位。
- 根据权利要求1至18中任一项所述的编码方法,其特征在于,所述采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标进行编码以形成所述第一块的第一码流,包括:采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标以及所述叶子节点块中的点云点的数量进行编码,以形成所述第一块的第一码流。
- 根据权利要求1至19中任一项所述的编码方法,其特征在于,所述编码方法还包括:对第三标识符进行编码,所述第三标识符用于标识所述深度优先的目标编码方式。
- 根据权利要求20所述的编码方法,其特征在于,所述第三标识符的码流位于所述第一块的第一码流之前;和/或,所述第三标识符的码流位于所述点云的几何头码流中。
- 根据权利要求20或21所述的编码方法,其特征在于,所述编码方法还包括:对第四标识符进行编码,所述第四标识符用于标识编码方式由广度优先切换至深度优先。
- 根据权利要求22所述的编码方法,其特征在于,若所述第一块是采用八叉树划分得到的,对所述第四标识符编码为八比特0;或者,若所述第一块是采用四叉树划分得到的,对所述第四标识符编码为四比特0;或者,若所述第一块是采用二叉树划分得到的,对所述第四标识符编码为二比特0。
- 根据权利要求22或23所述的编码方法,其特征在于,所述第四标 识码符位于所述第三标识符之前。
- 根据权利要求1至24中任一项所述的编码方法,其特征在于,所述编码方法还包括:对所述点云中第二块进行编码以形成第二码流,在广度优先的编码顺序上,所述第二块位于所述第一块之后。
- 一种点云的解码方法,其特征在于,包括:接收第一块的第一码流,所述第一块为点云经过多叉树划分后的空间块;采用深度优先的目标解码方式对所述第一码流进行解码得到所述第一块中包括点云点的叶子节点块的位置坐标;其中,所述叶子节点块的数量不大于N,N为根据所述第一块的划分方式确定的正整数。
- 根据权利要求26所述的解码方法,其特征在于,所述第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
- 根据权利要求27所述的解码方法,其特征在于,所述第一码流包括:第一叶子节点块的位置坐标码流,所述第一叶子节点块为包括点云点的叶子节点块;所述采用深度优先的目标解码方式对所述第一码流进行解码得到所述第一块中包括点云点的叶子节点块的位置坐标,包括:对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值。
- 根据权利要求28所述的解码方法,其特征在于,所述对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值,包括:对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在一个方向或者两个方向上的位置坐标值;将所述第一叶子节点块在所述一个方向上的位置坐标值作为所述第一叶子节点块在另两个方向上的位置坐标值;或者,将所述第一叶子节点块在所述两个方向上的位置坐标值中的一个位置坐标值作为所述第一叶子节点块在另一个方向上的位置坐标值。
- 根据权利要求29所述的解码方法,其特征在于,所述第一码流还 包括第一标识符码流,所述解码方法还包括:对所述第一标识符码流进行解码,得到第一标识符,所述第一标识符用于指示所述第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求30所述的解码方法,其特征在于,若所述第一标识符为第一值,所述第一标识符用于指示所述第一叶子节点块在第一方向和第二方向上的位置坐标值相同;若所述第一标识符为第二值,所述第一标识符用于指示所述第一叶子节点块在第一方向和第三方向上的位置坐标值相同;若所述第一标识符为第三值,所述第一标识符用于指示所述第一叶子节点块在第二方向和第三方向上的位置坐标值相同;若所述第一标识符为第四值,所述第一标识符用于指示所述第一叶子节点块在三个方向上的位置坐标值均相同。
- 根据权利要求30所述的解码方法,其特征在于,所述第一标识符包括三个标识位,对应于所述第一叶子节点块在三个方向上的位置坐标值;若所述第一标识符中的两个标识位编码为相同值,所述第一叶子节点块在对应于所述两个标识位的两个方向上的位置坐标值相同;若所述第一标识符中的两个标识位编码为不同值,所述第一叶子节点块在对应于所述两个标识位的两个方向上的位置坐标值不同。
- 根据权利要求30至32中任一项所述的解码方法,其特征在于,在所述第一码流中,所述第一标识符码流位于所述第一叶子节点块的位置坐标码流之前。
- 根据权利要求28至33中任一项所述的解码方法,其特征在于,所述第一码流还包括:所述第一块中包括点云点的第二叶子节点块的位置坐标码流;所述采用深度优先的目标解码方式对所述第一码流进行解码得到所述第一块中包括点云点的叶子节点块的位置坐标,包括:对所述第一叶子节点块的位置坐标码流和所述第二叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块和所述第二叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值。
- 根据权利要求34所述的解码方法,其特征在于,若所述第二叶子 节点块的位置坐标码流不包括所述第二叶子节点块在至少一个方向上的位置坐标值;对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值;将所述第一叶子节点块在至少一个方向上的位置坐标值作为所述第二叶子节点块在所述至少一个方向上的位置坐标值。
- 根据权利要求35所述的解码方法,其特征在于,所述第一码流还包括第二标识符码流,所述解码方法还包括:对所述第二标识符码流进行解码,得到第二标识符,所述第二标识符用于指示所述第二叶子节点块在至少一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求36所述的解码方法,其特征在于,所述第二标识符包括三个标识位,对应于所述第二叶子节点块在三个方向上的位置坐标值;若所述第二标识符中一个标识位为第一值,所述第二叶子节点块在所述一个标识位对应的一个方向上的位置坐标值与所述第一叶子节点块在所述一个方向上的位置坐标值相同;若所述第二标识符中一个标识位为第二值,所述第二叶子节点块在所述一个标识位对应的一个方向上的位置坐标值与所述第一叶子节点块在所述一个方向上的位置坐标值不同。
- 根据权利要求36或37所述的解码方法,其特征在于,在所述第一码流中,所述第二标识符码流位于所述第一叶子节点块的位置坐标码流和所述第二叶子节点块的位置坐标码流之前。
- 根据权利要求26至38中任一项所述的解码方法,其特征在于,在XYZ三个方向上,所述第一块为2 a×2 b×2 c的空间块,所述叶子节点块为2 a’×2 b’×2 c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为正整数;在所述第一码流中,所述叶子节点块在X方向上的位置坐标值包括(a-a’)个比特位;所述叶子节点块在Y方向上的位置坐标值包括(b-b’)个比特位;所述叶子节点块在Z方向上的位置坐标值包括(c-c’)个比特位。
- 根据权利要求39所述的解码方法,其特征在于,若a’=b’=c’=0,所述叶子节点块为1×1×1的空间块;在所述第一码流中,所述叶子节点块在X方向上的位置坐标值包括a个比特位;所述叶子节点块在Y方向上的位置坐标值包括b个比特位;所述叶子节点块在Z方向上的位置坐标值包括c个比特位。
- 根据权利要求26至40中任一项所述的解码方法,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值码流之后,排列有所述叶子节点块在另一个方向上的位置坐标值码流。
- 根据权利要求26至40中任一项所述的解码方法,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值的一比特位之后,排列有所述叶子节点块在另一个方向上的位置坐标值的一比特位。
- 根据权利要求42所述的解码方法,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值的低比特位位于高比特位之前;或者,所述叶子节点块在一个方向上的位置坐标值的高比特位位于低比特位之前。
- 根据权利要求26至43中任一项所述的解码方法,其特征在于,所述第一码流还包括:点云点数量码流,所述解码方法还包括:对点云点数量码流进行解码得到所述叶子节点块中的点云点的数量。
- 根据权利要求26至44中任一项所述的解码方法,其特征在于,所述解码方法还包括:接收第三标识符码流;对所述第三标识符码流进行解码得到第三标识符,所述第三标识符用于标识所述深度优先的目标解码方式。
- 根据权利要求45所述的解码方法,其特征在于,所述第三标识符码流位于所述第一块的第一码流之前;和/或,所述第三标识符码流位于所述点云的几何头码流中。
- 根据权利要求45或46所述的解码方法,其特征在于,所述解码方法还包括:接收第四标识符码流;对所述第四标识符码流进行解码得到第四标识符,所述第四标识符用于标识解码方式由广度优先切换至深度优先。
- 根据权利要求47所述的解码方法,其特征在于,若所述第一块是采用八叉树划分得到的,所述第四标识符为八比特0;或者,若所述第一块是采用四叉树划分得到,所述第四标识符为四比特0;或者,若所述第一块是采用二叉树划分得到的,所述第四标识符为二比特0。
- 根据权利要求47或48所述的解码方法,其特征在于,所述第四标识码符流位于所述第三标识符码流之前。
- 根据权利要求26至49中任一项所述的解码方法,其特征在于,所述解码方法还包括:接收第二块的第二码流,在广度优先的解码顺序上,所述第二块位于所述第一块之后;对所述第二码流进行解码得到所述第二块中的点云点位置。
- 一种点云的编码装置,其特征在于,包括:处理器,所述处理器用于:确定点云经过多叉树划分后的第一块,其中,所述第一块中包括点云点的叶子节点块的数量不大于N,N为根据所述第一块的划分方式确定的正整数;采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标进行编码以形成所述第一块的第一码流。
- 根据权利要求51所述的编码装置,其特征在于,所述第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
- 根据权利要求52所述的编码装置,其特征在于,所述第一块中包括第一叶子节点块,所述第一叶子节点块为包括点云点的叶子节点块;所述处理器用于:分别对所述第一叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成所述第一块的第一码流。
- 根据权利要求53所述的编码装置,其特征在于,所述处理器用于:跳过对所述第一叶子节点块在至少一个方向上的位置坐标值的编码;其中,所述第一叶子节点块在所述至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求54所述的编码装置,其特征在于,所述处理器还用于:编码第一标识符,所述第一标识符用于指示所述第一叶子节点块在所述至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求55所述的编码装置,其特征在于,所述处理器用于:若所述第一叶子节点块在第一方向和第二方向上的位置坐标值相同,编码所述第一标识符为第一值;若所述第一叶子节点块在第一方向和第三方向上的位置坐标值相同,编码所述第一标识符为第二值;若所述第一叶子节点块在第二方向和第三方向上的位置坐标值相同,编码所述第一标识符为第三值;若所述第一叶子节点块在三个方向上的位置坐标值均相同,编码所述第一标识符为第四值。
- 根据权利要求55所述的编码装置,其特征在于,所述第一标识符包括三个标识位,对应于所述第一叶子节点块在三个方向上的位置坐标值;所述处理器用于:若所述第一叶子节点块在两个方向上的位置坐标值相同,将所述两个方向上的位置坐标值对应的所述第一标识符中的两个标识位编码为相同值;若所述第一叶子节点块在两个方向上的位置坐标值不同,将所述两个方向上的位置坐标值对应的所述第一标识符中的两个标识位编码为不同值。
- 根据权利要求55至57中任一项所述的编码装置,其特征在于,所述第一标识符的码流位于所述第一叶子节点块的位置坐标的码流之前。
- 根据权利要求53至58中任一项所述的编码装置,其特征在于,所述第一块中还包括第二叶子节点块,所述第二叶子节点块为包括点云点的叶子节点块;所述处理器用于:分别对所述第一叶子节点块和所述第二叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值进行编码,以形成所述第一块的第一码流。
- 根据权利要求59所述的编码装置,其特征在于,所述处理器用于:跳过对所述第二叶子节点块在至少一个方向上的位置坐标值的编码;其中,所述第二叶子节点块在所述至少一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求60所述的编码装置,其特征在于,所述处理器还用于:编码第二标识符,所述第二标识符用于指示所述第二叶子节点块在至少 一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求61所述的编码装置,其特征在于,所述第二标识符包括三个标识位,对应于所述第二叶子节点块在三个方向上的位置坐标值;所述处理器用于:若所述第二叶子节点块在一个方向上的位置坐标值与所述第一叶子节点块在一个方向上的位置坐标值相同,将所述第二叶子节点块在所述一个方向上的位置坐标值对应的标识位编码为第一值;若所述第二叶子节点块在一个方向上的位置坐标值与所述第一叶子节点块在一个方向上的位置坐标值不同,将所述第二叶子节点块在所述一个方向上的位置坐标值对应的标识位编码为第二值。
- 根据权利要求61或62所述的编码装置,其特征在于,所述第二标识符的码流位于所述第一叶子节点块和所述第二叶子节点块的位置坐标的码流之前。
- 根据权利要求51至63中任一项所述的编码装置,其特征在于,在XYZ三个方向上,所述第一块为2 a×2 b×2 c的空间块,所述叶子节点块为2 a’×2 b’×2 c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为整数;所述处理器用于:采用(a-a’)个比特位对所述叶子节点块在X方向上的位置坐标值进行编码;采用(b-b’)个比特位对所述叶子节点块在Y方向上的位置坐标值进行编码;采用(c-c’)个比特位对所述叶子节点块在Z方向上的位置坐标值进行编码。
- 根据权利要求64所述的编码装置,其特征在于,若a’=b’=c’=0,所述叶子节点块为1×1×1的空间块;所述处理器用于:采用a个比特位对所述叶子节点块在X方向上的位置坐标进行编码;采用b个比特位对所述叶子节点块在Y方向上的位置坐标进行编码;采用c个比特位对所述叶子节点块在Z方向上的位置坐标进行编码。
- 根据权利要求51至65中任一项所述的编码装置,其特征在于,所述处理器用于:对所述叶子节点块在一个方向上的位置坐标值编码完成后,对所述叶子节点块在另一个方向上的位置坐标值进行编码。
- 根据权利要求51至65中任一项所述的编码装置,其特征在于,所述处理器用于:对所述叶子节点块在一个方向上的位置坐标值编码一比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码一比特位。
- 根据权利要求67所述的编码装置,其特征在于,所述处理器用于:对所述叶子节点块在一个方向上的位置坐标值编码最低比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码最低比特位;或者,对所述叶子节点块在一个方向上的位置坐标值编码最高比特位后,对所述叶子节点块在另一个方向上的位置坐标值编码最高比特位。
- 根据权利要求51至68中任一项所述的编码装置,其特征在于,所述处理器用于:采用深度优先的目标编码方式对所述叶子节点块在所述第一块中的位置坐标以及所述叶子节点块中的点云点的数量进行编码,以形成所述第一块的第一码流。
- 根据权利要求51至69中任一项所述的编码装置,其特征在于,所述处理器还用于:对第三标识符进行编码,所述第三标识符用于标识所述深度优先的目标编码方式。
- 根据权利要求70所述的编码装置,其特征在于,所述第三标识符的码流位于所述第一块的第一码流之前;和/或,所述第三标识符的码流位于所述点云的几何头码流中。
- 根据权利要求70或71所述的编码装置,其特征在于,所述处理器还用于:对第四标识符进行编码,所述第四标识符用于标识编码方式由广度优先切换至深度优先。
- 根据权利要求72所述的编码装置,其特征在于,所述处理器用于:若所述第一块是采用八叉树划分得到的,对所述第四标识符编码为八比 特0;或者,若所述第一块是采用四叉树划分得到的,对所述第四标识符编码为四比特0;或者,若所述第一块是采用二叉树划分得到的,对所述第四标识符编码为二比特0。
- 根据权利要求72或73所述的编码装置,其特征在于,所述第四标识码符位于所述第三标识符之前。
- 根据权利要求51至74中任一项所述的编码装置,其特征在于,所述处理器还用于:对所述点云中第二块进行编码以形成第二码流,在广度优先的编码顺序上,所述第二块位于所述第一块之后。
- 一种点云的解码装置,其特征在于,包括:处理器,所述处理器用于:接收第一块的第一码流,所述第一块为点云经过多叉树划分后的空间块;采用深度优先的目标解码方式对所述第一码流进行解码得到所述第一块中包括点云点的叶子节点块的位置坐标;其中,所述叶子节点块的数量不大于N,N为根据所述第一块的划分方式确定的正整数。
- 根据权利要求76所述的解码装置,其特征在于,所述第一块的划分方式包括:八叉树划分、四叉树划分、二叉树划分中的一种或多种,N≤2。
- 根据权利要求77所述的解码装置,其特征在于,所述第一码流包括:第一叶子节点块的位置坐标码流,所述第一叶子节点块为包括点云点的叶子节点块;所述处理器用于:对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在所述第一块的坐标系中的三个方向上的位置坐标值。
- 根据权利要求78所述的解码装置,其特征在于,所述处理器用于:对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在一个方向或者两个方向上的位置坐标值;将所述第一叶子节点块在所述一个方向上的位置坐标值作为所述第一 叶子节点块在另两个方向上的位置坐标值;或者,将所述第一叶子节点块在所述两个方向上的位置坐标值中的一个位置坐标值作为所述第一叶子节点块在另一个方向上的位置坐标值。
- 根据权利要求79所述的解码装置,其特征在于,所述第一码流还包括第一标识符码流,所述处理器还用于:对所述第一标识符码流进行解码,得到第一标识符,所述第一标识符用于指示所述第一叶子节点块在至少一个方向上的位置坐标值与在其它方向上的位置坐标值相同。
- 根据权利要求80所述的解码装置,其特征在于,若所述第一标识符为第一值,所述第一标识符用于指示所述第一叶子节点块在第一方向和第二方向上的位置坐标值相同;若所述第一标识符为第二值,所述第一标识符用于指示所述第一叶子节点块在第一方向和第三方向上的位置坐标值相同;若所述第一标识符为第三值,所述第一标识符用于指示所述第一叶子节点块在第二方向和第三方向上的位置坐标值相同;若所述第一标识符为第四值,所述第一标识符用于指示所述第一叶子节点块在三个方向上的位置坐标值均相同。
- 根据权利要求80所述的解码装置,其特征在于,所述第一标识符包括三个标识位,对应于所述第一叶子节点块在三个方向上的位置坐标值;若所述第一标识符中的两个标识位编码为相同值,所述第一叶子节点块在对应于所述两个标识位的两个方向上的位置坐标值相同;若所述第一标识符中的两个标识位编码为不同值,所述第一叶子节点块在对应于所述两个标识位的两个方向上的位置坐标值不同。
- 根据权利要求80至82中任一项所述的解码装置,其特征在于,在所述第一码流中,所述第一标识符码流位于所述第一叶子节点块的位置坐标码流之前。
- 根据权利要求78至83中任一项所述的解码装置,其特征在于,所述第一码流还包括:所述第一块中包括点云点的第二叶子节点块的位置坐标码流;所述处理器用于:对所述第一叶子节点块的位置坐标码流和所述第二叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块和所述第二叶 子节点块在所述第一块的坐标系中的三个方向上的位置坐标值。
- 根据权利要求84所述的解码装置,其特征在于,若所述第二叶子节点块的位置坐标码流不包括所述第二叶子节点块在至少一个方向上的位置坐标值;所述处理器用于:对所述第一叶子节点块的位置坐标码流进行解码,得到所述第一叶子节点块在第一块的坐标系中的三个方向上的位置坐标值;将所述第一叶子节点块在至少一个方向上的位置坐标值作为所述第二叶子节点块在所述至少一个方向上的位置坐标值。
- 根据权利要求85所述的解码装置,其特征在于,所述第一码流还包括第二标识符码流,所述处理器还用于:对所述第二标识符码流进行解码,得到第二标识符,所述第二标识符用于指示所述第二叶子节点块在至少一个方向上的位置坐标值与所述第一叶子节点块在所述至少一个方向上的位置坐标值相同。
- 根据权利要求86所述的解码装置,其特征在于,所述第二标识符包括三个标识位,对应于所述第二叶子节点块在三个方向上的位置坐标值;若所述第二标识符中一个标识位为第一值,所述第二叶子节点块在所述一个标识位对应的一个方向上的位置坐标值与所述第一叶子节点块在所述一个方向上的位置坐标值相同;若所述第二标识符中一个标识位为第二值,所述第二叶子节点块在所述一个标识位对应的一个方向上的位置坐标值与所述第一叶子节点块在所述一个方向上的位置坐标值不同。
- 根据权利要求86或87所述的解码装置,其特征在于,在所述第一码流中,所述第二标识符码流位于所述第一叶子节点块的位置坐标码流和所述第二叶子节点块的位置坐标码流之前。
- 根据权利要求76至88中任一项所述的解码装置,其特征在于,在XYZ三个方向上,所述第一块为2 a×2 b×2 c的空间块,所述叶子节点块为2 a’×2 b’×2 c’的空间块,其中,a≥a’,b≥b’,c≥c’,且a,b,c以及a’,b’,c’为正整数;在所述第一码流中,所述叶子节点块在X方向上的位置坐标值包括(a-a’)个比特位;所述叶子节点块在Y方向上的位置坐标值包括(b-b’)个比特位;所述叶子节点块在Z方向上的位置坐标值包括(c-c’)个比特位。
- 根据权利要求89所述的解码装置,其特征在于,若a’=b’=c’=0,所述叶子节点块为1×1×1的空间块;在所述第一码流中,所述叶子节点块在X方向上的位置坐标值包括a个比特位;所述叶子节点块在Y方向上的位置坐标值包括b个比特位;所述叶子节点块在Z方向上的位置坐标值包括c个比特位。
- 根据权利要求76至90中任一项所述的解码装置,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值码流之后,排列有所述叶子节点块在另一个方向上的位置坐标值码流。
- 根据权利要求76至90中任一项所述的解码装置,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值的一比特位之后,排列有所述叶子节点块在另一个方向上的位置坐标值的一比特位。
- 根据权利要求92所述的解码装置,其特征在于,在所述第一码流中,所述叶子节点块在一个方向上的位置坐标值的低比特位位于高比特位之前;或者,所述叶子节点块在一个方向上的位置坐标值的高比特位位于低比特位之前。
- 根据权利要求76至93中任一项所述的解码装置,其特征在于,所述第一码流还包括:点云点数量码流,所述处理器还用于:对点云点数量码流进行解码得到所述叶子节点块中的点云点的数量。
- 根据权利要求76至94中任一项所述的解码装置,其特征在于,所述处理器还用于:接收第三标识符码流;对所述第三标识符码流进行解码得到第三标识符,所述第三标识符用于标识所述深度优先的目标解码方式。
- 根据权利要求95所述的解码装置,其特征在于,所述第三标识符码流位于所述第一块的第一码流之前;和/或,所述第三标识符码流位于所述点云的几何头码流中。
- 根据权利要求95或96所述的解码装置,其特征在于,所述处理器还用于:接收第四标识符码流;对所述第四标识符码流进行解码得到第四标识符,所述第四标识符用于标识解码方式由广度优先切换至深度优先。
- 根据权利要求97所述的解码装置,其特征在于,若所述第一块是采用八叉树划分得到的,所述第四标识符为八比特0;或者,若所述第一块是采用四叉树划分得到,所述第四标识符为四比特0;或者,若所述第一块是采用二叉树划分得到的,所述第四标识符为二比特0。
- 根据权利要求97或98所述的解码装置,其特征在于,所述第四标识码符流位于所述第三标识符码流之前。
- 根据权利要求76至99中任一项所述的解码装置,其特征在于,所述处理器还用于:接收第二块的第二码流,在广度优先的解码顺序上,所述第二块位于所述第一块之后;对所述第二码流进行解码得到所述第二块中的点云点位置。
- 一种计算机可读存储介质,其特征在于,用于存储程序指令,所述程序指令被计算机运行时,所述计算机执行如权利要求1至25中任一项所述的编码方法。
- 一种计算机可读存储介质,其特征在于,用于存储程序指令,所述程序指令被计算机运行时,所述计算机执行如权利要求26至50中任一项所述的解码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/093754 WO2021243519A1 (zh) | 2020-06-01 | 2020-06-01 | 点云的编解码方法和装置 |
CN202080005108.3A CN112740707A (zh) | 2020-06-01 | 2020-06-01 | 点云的编解码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/093754 WO2021243519A1 (zh) | 2020-06-01 | 2020-06-01 | 点云的编解码方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021243519A1 true WO2021243519A1 (zh) | 2021-12-09 |
Family
ID=75609430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/093754 WO2021243519A1 (zh) | 2020-06-01 | 2020-06-01 | 点云的编解码方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112740707A (zh) |
WO (1) | WO2021243519A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024065269A1 (zh) * | 2022-09-28 | 2024-04-04 | Oppo广东移动通信有限公司 | 点云编解码方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179706A1 (zh) * | 2022-03-25 | 2023-09-28 | 维沃移动通信有限公司 | 编码方法、解码方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087978A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
WO2019103009A1 (ja) * | 2017-11-22 | 2019-05-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020066680A1 (ja) * | 2018-09-28 | 2020-04-02 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100519780B1 (ko) * | 2004-02-17 | 2005-10-07 | 삼성전자주식회사 | 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
WO2013117001A1 (en) * | 2012-02-09 | 2013-08-15 | Thomson Licensing | Efficient compression of 3d models based on octree decomposition |
-
2020
- 2020-06-01 WO PCT/CN2020/093754 patent/WO2021243519A1/zh active Application Filing
- 2020-06-01 CN CN202080005108.3A patent/CN112740707A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087978A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
WO2019103009A1 (ja) * | 2017-11-22 | 2019-05-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020066680A1 (ja) * | 2018-09-28 | 2020-04-02 | ソニー株式会社 | 画像処理装置および方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024065269A1 (zh) * | 2022-09-28 | 2024-04-04 | Oppo广东移动通信有限公司 | 点云编解码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112740707A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202147849A (zh) | 點雲壓縮方法、編碼器、解碼器及儲存媒介 | |
US7443318B2 (en) | High speed context memory implementation for H.264 | |
US20140185668A1 (en) | Method for adaptive entropy coding of tree structures | |
WO2021196029A1 (zh) | 一种用于点云编码、解码的方法和设备 | |
WO2021243519A1 (zh) | 点云的编解码方法和装置 | |
TWI714203B (zh) | 使用在先譜係數以算術解碼和編碼現時譜係數之方法及裝置 | |
WO2021196038A1 (zh) | 点云的编解码方法和装置 | |
JP2016226001A (ja) | デコーダおよび復号方法 | |
EP2723071A1 (en) | Encoder, decoder and method | |
JP6178798B2 (ja) | 終了可能な空間ツリー型位置符号化および復号 | |
WO2020248177A1 (zh) | 点云的编解码方法及装置 | |
WO2021000333A1 (zh) | 点云的处理方法和装置 | |
WO2020140218A1 (zh) | 用于视频编码或解码的运动信息获取方法与装置 | |
WO2024037091A1 (zh) | 一种点云处理方法、装置及计算机设备、存储介质 | |
KR20220123258A (ko) | 인트라 예측 방법, 장치, 인코더, 디코더 및 저장 매체 | |
WO2022061785A1 (zh) | 点云编码方法、点云解码方法及相关装置 | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
CN111107377A (zh) | 深度图像压缩方法及其装置、设备和存储介质 | |
CN104682966A (zh) | 列表数据的无损压缩方法 | |
KR20220157490A (ko) | 인트라 예측 방법, 장치, 인코더, 디코더 및 저장 매체 | |
WO2023184196A1 (zh) | 零游程值编解码方法及视频编解码方法、装置和系统 | |
WO2024007253A1 (zh) | 点云率失真优化方法及属性压缩方法、装置和存储介质 | |
WO2023116443A1 (zh) | 点云编码方法、点云解码方法、通信节点及存储介质 | |
WO2023098820A1 (zh) | 点云编码、解码方法、装置及通信设备 | |
WO2023168712A1 (zh) | 零游程值编解码方法及视频编解码方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20939204 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20939204 Country of ref document: EP Kind code of ref document: A1 |