CN113473127B - 一种点云几何编码方法、解码方法、编码设备及解码设备 - Google Patents
一种点云几何编码方法、解码方法、编码设备及解码设备 Download PDFInfo
- Publication number
- CN113473127B CN113473127B CN202010238176.6A CN202010238176A CN113473127B CN 113473127 B CN113473127 B CN 113473127B CN 202010238176 A CN202010238176 A CN 202010238176A CN 113473127 B CN113473127 B CN 113473127B
- Authority
- CN
- China
- Prior art keywords
- child node
- point cloud
- current
- context
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004891 communication Methods 0.000 claims description 19
- 238000007906 compression Methods 0.000 abstract description 14
- 230000006835 compression Effects 0.000 abstract description 12
- 238000012360 testing method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 229960001484 edetic acid Drugs 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种点云几何编码方法、解码方法、编码设备及解码设备,所述点云定义在树结构中,树结构中有多个具有父子关系的节点,当前节点包括K个子节点,所述点云几何解码方法包括步骤:将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;根据所述当前子节点的上下文对点云几何码流进行熵解码。通过本发明提供的点云几何编码方法和解码方法能够提升几何节点之间相关性地利用,从而有效提高点云几何压缩性能。
Description
技术领域
本发明涉及点云处理技术领域,特别涉及一种点云几何编码方法、解码方法、编码设备及解码设备。
背景技术
三维点云是现实世界数字化的重要表现形式。随着三维扫描设备(如激光、雷达等)的快速发展,点云的精度和分辨率变得更高。高精度点云广泛应用于城市数字化地图的构建,在智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来了巨大挑战,因此对点云进行压缩变得十分重要。
点云压缩主要分为几何压缩和属性压缩,目前由中国AVS(Audio Video codingStandard)点云压缩工作组所提供的测试平台PCEM中描述的点云几何压缩框架主要有空间占用码的二值熵编码:在每次八叉树节点划分时,该节点的空间占用码包含八个比特(b0b1b2b3b4b5b6b7),分别表示该节点的八个子节点占用的情况。对每个比特使用单独的上下文(context)进行熵编码,这样八个比特对应八个上下文。软件采用在AVS2标准中广泛应用的上下文自适应熵编码器(CABAC),编码空间占用码的每一位(bit或者bin),以求达到更好的压缩效果,编码主要分为两个部分,(1)上下文选择;(2)二元算术编码。
但是,以上相关技术在进行上下文选择时仅仅按照编码比特的顺序确定固定的上下文,存在编码顺序并不能很好的表示编码节点的空间相关性的问题,导致编码字符并没有选择适合的编码概率,降低压缩性能。
因此,现有技术还有待于改进和发展。
发明内容
本发明提供一种点云几何编码方法、解码方法、编码设备及解码设备,旨在解决现有技术在进行上下文选择时仅仅按照编码比特的顺序确定固定的上下文,导致编码字符并没有选择适合的编码概率,降低压缩性能的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种点云几何解码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,其中,包括步骤:
将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
根据所述当前子节点的上下文对点云几何码流进行熵解码。
所述的点云几何解码方法,其中,所述根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文的步骤包括:
将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文;
或者,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文。
所述的点云几何解码方法,其中,所述根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文的步骤包括:
确定所述当前子节点在父节点中的位置;
根据所述当前子节点在父节点中的位置和所述当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文。
所述的点云几何解码方法,其中,所述将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文的步骤包括:
将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由小到大排列得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由大到小排列得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按共面共线顺序排列得到所述当前子节点的上下文。
所述的点云几何解码方法,其中,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文的步骤包括:
将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按或运算规则计算得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按与运算规则计算得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按求和运算规则计算得到所述当前子节点的上下文。
所述的点云几何解码方法,其中,所述根据所述当前子节点的上下文对点云几何码流进行熵解码的步骤包括:
根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;
根据所述二值符号概率对所述点云几何码流进行算数解码,得到所述当前子节点的占用状态。
一种点云几何解码设备,其中,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如本发明所述方法中的步骤。
一种点云几何编码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,其中,包括步骤:
将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
根据所述当前子节点的上下文对所述当前子节点的占用状态行熵编码。
所述的点云几何编码方法,其中,所述根据所述当前子节点的上下文对所述当前子节点的占用状态行熵编码的步骤包括:
根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;
根据所述二值符号概率对所述当前子节点的占用状态进行算数编码,得到点云几何码流。
一种点云几何编码设备,其中,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如本发明任意一项所述方法中的步骤。
有益效果:与现有技术相比,本发明提供的点云几何编码方法和解码方法在点云几何压缩过程中,在对每个节点进行熵编码时,依据相邻节点的占用情况确定上下文索引,更好地捕捉节点之间地几何相关性,提高点云几何压缩地性能。
附图说明
图1为本发明提供的一种点云几何编码方法较佳实施例的流程图。
图2为偏移莫顿顺序示意图。
图3为当前子节点在父节点中的索引示意图。
图4为本发明提供的一种点云几何编码设备的结构原理图。
图5为本发明提供的一种点云几何解码方法较佳实施例的流程图。
图6是在有限有损几何、有损属性条件下,本发明方法的实施例与测试平台PCEMv1的基准结果的性能对比图。
图7是在无损几何、无损属性条件下,本发明方法的实施例与测试平台PCEMv1的基准结果的性能对比图。
具体实施方式
本发明提供一种点云几何编码方法、解码方法、编码设备及解码设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参阅图1,本发明提供了一种点云几何编码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,其中,包括步骤:
S10、将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
S20、确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
S30、根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
S40、根据所述当前子节点的上下文对所述当前子节点的占用状态行熵编码。
在本实施例中,在编码端执行所述步骤S10-S40的步骤,实现所述点云的几何编码过程。点云中点的几何位置用三维笛卡尔坐标(X,Y,Z)表示,用N比特来表示每个坐标值,k-th点的坐标(Xk,Yk,Zk)可以表示成
k-th点对应的莫顿码可以表示如下:
将每三个比特用八进制数表示则k-th点对应的莫顿码可以表示成依据莫顿码,按照广度优先从根节点(第0层)构建几何K叉树,K为大于1的整数。作为举例,所述K可以为2、4或8等,也就是说,根据点云中点的几何位置可构建二叉树或者四叉树或者八叉树或者此三种的混合树结构,本实施例以构建八叉树为例,具体来讲,首先将所有的点根据莫顿码的第0个八进制数,分到八个子节点中:所有的点分到第0个子节点中,所有的点分到第1个子节点中,依次类推,所有的点分到第7个子节点中则,八叉树第一层的节点由此八个节点构成。
八比特表示根节点的八个子节点是否被占用。如果至少包含点云中的一个点,其对应的比特bk=1;如果该子节点不包含任何点,bk=0;根据几何位置的莫顿码的第1个八进制数对第一层中被占用的节点进一步划分成八个子节点;并用八个比特表示其子节点的占用信息,其中,ln是被占用节点的序号,n=0,…,N1-1,N1表示第一层被占用的节点数。再根据几何位置的莫顿码中的第t个八进制数对第t=2,3,…,N-2层中被占用的节点进一步划分成八个子节点;并用八个比特表示将其子节点的占用信息,其中,ln是被占用节点的序号,n=0,…,Nt-1,Nt表示第t层被占用的节点数;对第t=N-1层,所有的节点成为叶节点,如果编码器配置允许重复点,需要在码流中记录每个被占用的叶节点上的重复点数。
在一些实施方式中,当所述几何树构建完成后,在每次树节点划分时,对于八叉树节点的空间占用码包含八个比特(b0b1b2b3b4b5b6b7),对于四叉树节点的空间占用码包含四个比特(b0b1b2b3),对于二叉树节点的空间占用码包含两个比特(b0b1)分别表示该节点的各个子节点占用的情况。
在一些实施方式中,按照Z轴、Y轴、X轴负方向依次偏移得到如图2所示的同级节点的偏移莫顿顺序(以数字升序表示顺序),其中虚框表示占用为空的上级节点;将当前子节点作为偏移莫顿顺序下的第n个点,确定所述当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息;根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文,其中,n为小于等于K的整数,m为小于n的整数。以八叉树为例,因为偏移莫顿顺序下紧邻的子节点最多有7个,最少有0个,则所述n的取值为1-8,m的取值则为0-7。
在一些具体实施方式中,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文;或者,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文。
在一些实施方式中,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文的步骤包括:将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由小到大排列得到所述当前子节点的上下文;或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由大到小排列得到所述当前子节点的上下文;或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按共面共线顺序排列得到所述当前子节点的上下文。本实施例中,m为小于N的整数,其中m个邻居节点为偏移莫顿顺序下当前子节点所有邻居子节点的子集。
在一些实施方式中,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文的步骤包括:将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按或运算规则计算得到所述当前子节点的上下文,以m等于2举例说明或运算规则:C1和C2分别表示邻居节点占用状态,若C1与C2都为0,则计算结果为0,否则,计算结果为1;或者,将当前子节点在偏移莫顿顺序下的前M个邻居子节点的占用信息按与运算规则计算得到所述当前子节点的上下文,以m等于2举例说明或运算规则:C1和C2分别表示邻居节点占用状态,若C1与C2不为0,则计算结果为1,否则,计算结果为0;;或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按求和运算规则计算得到所述当前子节点的上下文,以m等于2举例说明或运算规则:C1和C2分别表示邻居节点占用状态,若C1与C2相同,则计算结果为0,反之,C1与C2不同,则计算结果为1。
作为举例,按照莫顿偏移顺序确定当前子节点的7个邻居节点的占用状态分别为C1,C2,C3,C4,C5,C6,C7,例如,图2中序号为19的子节点,其在偏移莫顿序下的第1,第2,第3个相邻子节点分别为序号18,17,16所代表的节点,则C1,C2,C3分别对应为序号18,17,16节点的状态;第4,第5,第6,第7个相邻子节点不存在,则将C4,C5,C6,C7,默认为0处理。将此7个邻居节点的占用状态表示为7比特二进制数(C1C2C3C4C5C6C7),并此数转化为十进制数作为当前编码子节点的上下文。
在一些实施方式中,当获取到所述当前子节点的上下文后,则根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;根据所述二值符号概率对所述当前子节点的占用状态进行算数编码,得到点云几何码流。进一步的,将编码的当前节点占用位送入熵编码引擎中,对被选择的上下文进行概率模型的更新。
在一些实施方式中,所述根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文的步骤还包括:确定所述当前子节点在父节点中的位置;根据所述当前子节点在父节点中的位置和所述当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文。
本实施例中,将当前子节点在父节点中的索引依据偏移莫顿顺序进行编号,数值为0-7,如图3所示。通过将当前节点的上下文索引左移3位加当前节点在父节点中的索引确定所述当前子节点的上下文;根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;根据所述二值符号概率对所述当前子节点的占用状态进行算数编码,得到点云几何码流。
基于上述点云几何编码方法,本发明还提供一种点云几何编码设备,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及点云几何编码设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
在一些实施方式中,本发明还提供一种点云几何解码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,如图5所示,其包括步骤:
S100、将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
S200、确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
S300、根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
S400、根据所述当前子节点的上下文对点云几何码流进行熵解码。
本实施例中,在解码端执行所述步骤S100-S400实现所述点云的解码过程。具体来讲,以八叉树结构为例,按照偏移莫顿顺序,如图2所示,确定当前子节点的7个邻居节点的占用状态分别为C1,C2,C3,C4,C5,C6,C7,将此7个邻居节点的占用状态表示为7比特二进制数(C1C2C3C4C5C6C7),并此数转化为十进制数作为当前编码子节点的上下文;根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;根据所述二值符号概率对所述点云几何码流进行算数解码,得到当前子节点的占用状态;将编码的当前子节点占用状态送入熵编码引擎中,对被选择的上下文进行概率模型的更新。循环上述步骤,直到几何码流结尾,得到重构的树信息,对树进行广度遍历,从而得到树叶子节点的莫顿码。例如,对于八叉树k-th叶子节点的八进制的莫顿码为将其转化为二进制从而得到则空间中k-th点的坐标(Xk,Yk,Zk)可以表示成
在另一些实施方式中,如图2所示,按照偏移莫顿顺序确定当前子节点的7个邻居节点的占用状态分别为C1,C2,C3,C4,C5,C6,C7。将此7个邻居节点的占用状态表示为7比特二进制数(C1C2C3C4C5C6C7),并此数转化为十进制数作为当前编码子节点的上下文索引;当前节点在父节点中的索引依据偏移莫顿顺序进行编号,数值为0-7,如图3所示,熵编码索引通过将当前节点的上下文索引左移3位加当前节点在父节点中的索引得到。当前子节点依据熵编码索引选择对应的上下文,熵编码器依据此上下文中的概率模型,从码流中解码出当前节点的空间占用码;将编码的当前子节点占用位送入熵编码引擎中,对被选择的上下文进行概率模型的更新。循环上述步骤,直到几何码流结尾,得到重构的八叉树信息,对八叉树进行广度遍历,从而得到八叉树叶子节点的莫顿码。例如k-th叶子节点的八进制的莫顿码为将其转化为二进制从而得到则空间中k-th点的坐标(Xk,Yk,Zk)可以表示成
在一些实施方式汇总,还提供一种点云几何解码设备,其中,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现本发明所述的点云几何解码方法中的步骤。
为了验证本发明的效果,将本发明的点云几何编码方法、解码方法与测试平台PCEMv1的基准结果的性能进行对比,结果如图6-7所示,其中,图6是在有限有损几何条件下,本发明方法的实施例与测试平台PCEMv1的基准结果的性能对比图;图7是在无损几何几何条件下,本发明方法的实施例与测试平台PCEMv1的基准结果的性能对比图。
相比与测试平台PCEMv1的基准结果,对于几何位置,在有限有损几何条件下,本发明的端到端率失真分别节约了17.9%、12.3%和39.7%(如图6所示),点到点的最大值分别节约了17.9%、12.2%和39.5%(如图7所示);在无损几何条件下,本发明的码率节约8.3%,4.5%,33.2%(如图7所示)。
综上所述,与现有技术相比,本发明提供的点云几何编码方法和解码方法在点云几何压缩过程中,在对每个节点进行熵编码时,依据相邻节点的占用情况确定上下文索引,更好地捕捉节点之间地几何相关性,提高点云几何压缩地性能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种点云几何解码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,其特征在于,包括步骤:
将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
根据所述当前子节点的上下文对点云几何码流进行熵解码。
2.根据权利要求1所述的点云几何解码方法,其特征在于,所述根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文的步骤包括:
将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文;
或者,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文。
3.根据权利要求1所述的点云几何解码方法,其特征在于,所述根据所述前m个邻居子节点的占用信息确定所述当前子节点的上下文的步骤包括:
确定所述当前子节点在父节点中的位置;
根据所述当前子节点在父节点中的位置和所述当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文。
4.根据权利要求2所述的点云几何解码方法,其特征在于,所述将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定顺序排列得到所述当前子节点的上下文的步骤包括:
将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由小到大排列得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按莫顿顺序由大到小排列得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按共面共线顺序排列得到所述当前子节点的上下文。
5.根据权利要求2所述的点云几何解码方法,其特征在于,将所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息按预定规则计算得到所述当前子节点的上下文的步骤包括:
将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按或运算规则计算得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按与运算规则计算得到所述当前子节点的上下文;
或者,将当前子节点在偏移莫顿顺序下的前m个邻居子节点的占用信息按求和运算规则计算得到所述当前子节点的上下文。
6.根据权利要求1所述的点云几何解码方法,其特征在于,所述根据所述当前子节点的上下文对点云几何码流进行熵解码的步骤包括:
根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;
根据所述二值符号概率对所述点云几何码流进行算数解码,得到所述当前子节点的占用状态。
7.一种点云几何解码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-6任意一项所述方法中的步骤。
8.一种点云几何编码方法,所述点云定义在树结构中,所述树结构中有多个具有父子关系的节点,当前节点包括K个子节点,其特征在于,包括步骤:
将当前子节点作为偏移莫顿顺序下的第n个点,其中,n为小于等于K的整数,K为大于1的整数;
确定所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息,其中,m为小于n的整数;
根据所述当前子节点的偏移莫顿顺序下的前m个邻居子节点的占用信息确定所述当前子节点的上下文;
根据所述当前子节点的上下文对所述当前子节点的占用状态进行熵编码。
9.根据权利要求8所述的点云几何编码方法,其特征在于,所述根据所述当前子节点的上下文对所述当前子节点的占用状态行熵编码的步骤包括:
根据所述当前子节点的上下文作为索引从多个上下文中选择二值符号概率;
根据所述二值符号概率对所述当前子节点的占用状态进行算数编码,得到点云几何码流。
10.一种点云几何编码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求8-9任意一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238176.6A CN113473127B (zh) | 2020-03-30 | 2020-03-30 | 一种点云几何编码方法、解码方法、编码设备及解码设备 |
PCT/CN2020/093810 WO2021196392A1 (zh) | 2020-03-30 | 2020-06-01 | 一种点云几何编码方法、解码方法、编码设备及解码设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238176.6A CN113473127B (zh) | 2020-03-30 | 2020-03-30 | 一种点云几何编码方法、解码方法、编码设备及解码设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113473127A CN113473127A (zh) | 2021-10-01 |
CN113473127B true CN113473127B (zh) | 2022-09-23 |
Family
ID=77864947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010238176.6A Active CN113473127B (zh) | 2020-03-30 | 2020-03-30 | 一种点云几何编码方法、解码方法、编码设备及解码设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113473127B (zh) |
WO (1) | WO2021196392A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116543060A (zh) * | 2022-01-25 | 2023-08-04 | 华为技术有限公司 | 基于树结构划分的点云编码方法和装置 |
EP4220561A1 (en) * | 2022-02-01 | 2023-08-02 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding a slice of point cloud data |
EP4242969A1 (en) * | 2022-03-10 | 2023-09-13 | Beijing Xiaomi Mobile Software Co., Ltd. | Encoding/decoding occupancy information of a current node of a tree representing point cloud geometry data |
WO2023197338A1 (zh) * | 2022-04-16 | 2023-10-19 | Oppo广东移动通信有限公司 | 索引确定方法、装置、解码器以及编码器 |
WO2024011417A1 (zh) * | 2022-07-12 | 2024-01-18 | Oppo广东移动通信有限公司 | 编解码方法、解码器、编码器及计算机可读存储介质 |
WO2024011472A1 (zh) * | 2022-07-13 | 2024-01-18 | Oppo广东移动通信有限公司 | 点云编解码方法、编解码器及计算机存储介质 |
WO2024065272A1 (zh) * | 2022-09-28 | 2024-04-04 | Oppo广东移动通信有限公司 | 点云编解码方法、装置、设备及存储介质 |
WO2024103304A1 (zh) * | 2022-11-16 | 2024-05-23 | Oppo广东移动通信有限公司 | 点云编解码方法、编码器、解码器、码流及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10861196B2 (en) * | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
EP3579194A1 (en) * | 2018-06-08 | 2019-12-11 | My Virtual Reality Software AS | Indexation of massive point cloud data for efficient visualization |
GB2571382B (en) * | 2018-07-27 | 2020-02-19 | Sony Interactive Entertainment Inc | A parallel method of flood filing, and apparatus |
CN109993839B (zh) * | 2019-04-09 | 2022-11-25 | 北京大学深圳研究生院 | 一种自适应的点云条带划分方法 |
CN110572655B (zh) * | 2019-09-30 | 2023-01-10 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
CN110418135B (zh) * | 2019-08-05 | 2022-05-27 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
-
2020
- 2020-03-30 CN CN202010238176.6A patent/CN113473127B/zh active Active
- 2020-06-01 WO PCT/CN2020/093810 patent/WO2021196392A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021196392A1 (zh) | 2021-10-07 |
CN113473127A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113473127B (zh) | 一种点云几何编码方法、解码方法、编码设备及解码设备 | |
CN111405281A (zh) | 一种点云属性信息的编码方法、解码方法、存储介质及终端设备 | |
CN111699683B (zh) | 一种点云编码方法、点云解码方法及相关设备 | |
CN111145090B (zh) | 一种点云属性编码方法、解码方法、编码设备及解码设备 | |
CN111615791B (zh) | 在点云压缩中使用直接编码的方法和设备 | |
US11089316B2 (en) | Method and apparatus for decoding a received set of encoded data | |
CN112218079B (zh) | 一种基于空间顺序的点云分层方法、点云预测方法及设备 | |
CN111699697A (zh) | 一种用于点云处理、解码的方法、设备及存储介质 | |
CN112995662B (zh) | 一种点云的属性熵编码和熵解码的方法及设备 | |
CN112352431B (zh) | 一种数据编码、解码方法、设备及存储介质 | |
CN107565973B (zh) | 一种结点可扩展的哈夫曼编码的实现方法及电路结构 | |
CN115606188A (zh) | 一种点云编解码方法、编码器、解码器及存储介质 | |
US20180184096A1 (en) | Method and apparatus for encoding and decoding lists of pixels | |
CN115379191B (zh) | 一种点云解码方法、点云编码方法及相关设备 | |
CN115529357B (zh) | 基于mes互通互联生产数据的更新异常匹配方法 | |
CN115280366A (zh) | 点云解码装置、点云解码方法以及程序 | |
CN114187401A (zh) | 一种点云属性编码方法、解码方法、编码设备及解码设备 | |
CN112514397A (zh) | 点云的编解码方法和装置 | |
CN113784125A (zh) | 一种点云属性预测方法及其设备 | |
KR101883532B1 (ko) | 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치 | |
CN112995758A (zh) | 点云数据的编码方法、解码方法、存储介质及设备 | |
CN116126957A (zh) | 数据格式转换方法、装置、设备及存储介质 | |
CN113395506A (zh) | 一种基于分段的点云邻居搜索方法、编码方法、解码方法及设备 | |
CN115102934A (zh) | 点云数据的解码方法、编码方法、装置、设备及存储介质 | |
CN114092631A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |