CN114079793B - 一种基于新的处理顺序的点云属性解码方法和装置 - Google Patents

一种基于新的处理顺序的点云属性解码方法和装置 Download PDF

Info

Publication number
CN114079793B
CN114079793B CN202011063672.9A CN202011063672A CN114079793B CN 114079793 B CN114079793 B CN 114079793B CN 202011063672 A CN202011063672 A CN 202011063672A CN 114079793 B CN114079793 B CN 114079793B
Authority
CN
China
Prior art keywords
attribute
point
points
hilbert
current point
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
Application number
CN202011063672.9A
Other languages
English (en)
Other versions
CN114079793A (zh
Inventor
虞露
王文义
陈嘉枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to EP21857586.8A priority Critical patent/EP4199520A4/en
Priority to US18/021,453 priority patent/US20230351640A1/en
Priority to PCT/CN2021/112484 priority patent/WO2022037491A1/zh
Publication of CN114079793A publication Critical patent/CN114079793A/zh
Application granted granted Critical
Publication of CN114079793B publication Critical patent/CN114079793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/62Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

针对莫顿序下相邻点之前的三维空间距离会发生周期性跳跃的缺点,为了进一步的点云属性的编码效率,本发明提出了一种基于新的处理顺序的点云属性解码方法和装置。使用Hilbert序作为点云属性的编码顺序,在Hilbert序下当前待点前序若干个点中查找当前待点三维空间上的近邻点,使用这些近邻点作为当前待点的预测点。由于Hilbert序下相近的点三维空间上也相近,特别的,最坏情况下,Hilbert序上距离为n的两点三维空间上的距离小于等于n1/2,而Morton序上距离为n的两点三维空间上的距离有可能大于点云维度长的最大值,且在K较小的时候,Hilbert序上当前点前序K个点距离当前点的平均距离小于Morton序上当前点前序K个点距离当前点的平均距离。因此采用Hilbert序可以更大概率的找到和当前点三维空间上更相近的邻居点,从而使得预测点的属性值和当前待点的属性值更相关,进而提升点云属性的编码效率。

Description

一种基于新的处理顺序的点云属性解码方法和装置
技术领域
本发明专利属于点云编码领域,具体涉及一种基于新的处理顺序的点云属性解码方法和装置。
背景技术
支持虚拟现实技术(VR,Virtual Reality)和增强现实技术(AR,AugmentedReality)的应用是21世纪媒体技术的下一个重要挑战。这些应用连同三维数据采集、三维渲染和计算机视觉使得新兴的沉浸式媒体体验在不久的将来成为可能。点云是一种十分理想的三维场景和三维对象的表现形式,其由三维空间中无规则分布并且无连接的一组点构成,构成点云的每一个点都有几何信息以及可选的属性信息。其中几何信息用来表达三维物体的结构,由三维位置坐标x、y、z构成;而属性信息则用来表达三维场景或者对象的表面属性,常见的属性信息有颜色、反射率、法线和透明度等。点云的数据规模十分庞大,例如一个质量较好的表达三维对象的点云大约有几十万到几百万个点。为了便于点云数据的存储和传输,对于点云数据的压缩十分有必要。
点云压缩算法大多是基于体素化点云的,体素化点云具有处理方便、精度可控等优点。体素化点云是指点的位置坐标被量化到立方体网格内的点云,每个立方体网格的中点的坐标代表该立方体网格中点的坐标,因此编码点云的位置信息时只需要编码立方体网格的索引即可,位置精度可由立方体网格的大小来控制。
目前,对于点云属性编码大都基于莫顿序(Morton Order)来查找若干个最近邻点,然后使用这些最近邻点的属性进行加权来预测当前点的属性值。其中莫顿序是根据点的莫顿码(Morton Code)大小对点云中的点进行排序得到的点序,而每个点的莫顿码可以由点的位置坐标得到,具体的,是将点的各个维度坐标按照二进制位的每个位依序交错放置得到。[1]中基于莫顿序来查找近邻点,其中若细节层次(LoD,Level of Detail)数量为1,会从莫顿序下当前点前若干个已编码点中找到3个距离当前点最近的点,然后使用这些点的属性值的加权平均来预测当前点的属性值,若细节层次数量大于1,则会从按莫顿序排好序的已编码细节层次的点中找到第一个莫顿码大于当前点莫顿码的点,然后在这个找到的点的周围找到3个距离当前点最近的点,使用这些点的属性值的加权平均来预测当前点的属性值。[2]中同样基于莫顿码进行属性预测,其中对于稀疏点云,直接使用莫顿序下当前点的前三个点属性值的加权平均来预测当前点的属性值,对于密集点云,首先从莫顿序下当前点的前若干个点中查找和当前点共面和共线的点,若找得到,则用这些共面共线点的属性值的加权平均来预测当前点的属性值,否则直接使用莫顿序下当前点的前一点预测当前点的属性值。
理论上讲,预测点和当前点的三维空间距离越近,预测点的属性和当前点的属性相关性越强,属性预测的也就越准确,失真不变的情况下所需的码率也就越低。由于莫顿序下相邻或者相近的点之前的三维空间距离会周期性的发生幅度不等的跳跃,导致莫顿序下相邻点之前的三维空间距离周期性的忽近忽远,因此莫顿码具有较差的空间近邻特性,那么利用莫顿序进行最近邻搜索找到的最近点就会不理想。
Hilbert曲线是一种连续的分形空间填充曲线,也被称为Hilbert空间填充曲线,它首先由德国数学家大卫希尔伯特于1891年发现,其可以将高维空间映射到1维。 Hilbert曲线具有良好的空间近邻特性,Hilbert的空间近邻特性是指在一维空间相近的数据点在高维空间也是相近的。由于其空间近邻特性,Hilbert曲线和其离散近似应用十分广泛。例如,人们广泛将其用在数据库索引、内存管理图像处理和动态负载平衡等领域。本发明用到的是Hilbert曲线在3维空间的离散近似。
发明内容
针对莫顿序下相邻点之前的三维空间距离会发生周期性跳跃的缺点,为了进一步的点云属性的编码效率,本发明提出了一种基于新的处理顺序的点云属性解码方法和装置。使用Hilbert序作为点云属性的编码顺序,在Hilbert序下当前点前序若干个点中查找当前点三维空间上的近邻点,使用这些近邻点作为当前点的预测点。由于 Hilbert序下相近的点三维空间上也相近,特别的,最坏情况下,Hilbert序上距离为n的两点三维空间上的距离小于等于
Figure BDA0002713123200000021
而Morton序上距离为n的两点三维空间上的距离有可能大于点云维度长的最大值,且在K较小的时候,Hilbert序上当前点前序K个点距离当前点的平均距离小于Morton序上当前点前序K个点距离当前点的平均距离。因此采用Hilbert序可以更大概率的找到和当前点三维空间上更相近的邻居点,从而使得预测点的属性值和当前点的属性值更相关,进而提升点云属性的编码效率。
本发明的第一目的是提供一种基于新的处理顺序的点云属性解码方法,包括如下内容:
使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序;
从码流中解码出当前点的属性残差值;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
作为优选,所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数;
使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,L是大于0的自然数,n是自然数;
使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数;
赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo
使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码方法还可以有另外一种实现形式,其特征在于包括,
构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure BDA0002713123200000031
Figure BDA0002713123200000032
LODL-1为整个重建点云,L是大于0的自然数;获得当前点的n个属性预测点,令(Ri=LODi-LODi-1)i=1…L-1,R0= LOD0,对于Ri中Hilbert码为H的点P,从LODi-1中Hilbert码范围在 [H1,H2](H1≤H≤H2)内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数;
使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值;
从码流中解码出当前点的属性残差值;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
以下约定本发明中的表达方法:
1.点云中点的三维几何坐标记为(X1,X2,X3)N,其中X1,X2,X3按二进制展开分别表示为:
Figure BDA0002713123200000041
Figure BDA0002713123200000042
Figure BDA0002713123200000043
二进制展开的左边代表高位、右边代表低位,其中N为大于0的整数、表示坐标位宽。
2.点的Hilbert码HCodeN用二进制表示为
Figure BDA0002713123200000044
其中Hilbert码子码
Figure BDA0002713123200000045
是mi位的二进制数。
作为优选,一种基于新的处理顺序的点云属性解码方法包括:
从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000046
Figure BDA0002713123200000047
Figure BDA0002713123200000048
其中,
Figure BDA0002713123200000049
函数根据本次处理的二进制位的状态statei和本次处理的二进制位生成本次处理的二进制位对应的Hilbert码子码,mi不同时有不同的
Figure BDA00027131232000000410
Figure BDA00027131232000000411
生成Hilbert码子码的机理是根据由statei确定的Hilbert子曲线的形状以及由本次处理的二进制位确定的 Hilbert子曲线上的序号确定Hilbert码子码,
Figure BDA0002713123200000051
函数根据本次处理的二进制位的状态statei和本次处理的二进制位生成下次处理的二进制位的状态statei+1,mi不同时有不同的
Figure BDA0002713123200000052
Figure BDA0002713123200000053
生成下次处理的二进制位的状态statei+1的机理是根据由statei确定的Hilbert子曲线的形状以及由本次处理的二进制位确定的Hilbert子曲线上的序号确定下次处理的二进制位的状态statei+1,二进制位对应的状态和二进制位对应的 Hilbert子曲线的形状一一对应,共进行p次处理,各次处理的mi的总和为 N,即
Figure BDA0002713123200000054
按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息。
本发明第二目的在于提供一种基于新的处理顺序的点云属性解码装置,其包括:
属性预测值获取模块:该模块输入是已重建的点云,输出是当前点的属性预测值,该模块使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序;
属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值;
重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
作为优选,所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序n个解码点作为当前点的属性预测点,n 是自然数;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,L是大于0的自然数,n是自然数;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述Hilbert序下前序解码点重建属性值的加权平均值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数;
属性预测点赋权模块:该模块输入是属性预测点,输出是带权重的属性预测点,该模块赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0 的实数,ωpl大于ωpo
属性预测值计算模块:该模块输入是带权重的属性预测点,输出是当前点的属性预测值,该模块使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值。
作为优选,所述的基于新的处理顺序的点云属性解码装置还可以有另外一种实现形式,其特征在于包括,
LOD构建模块:该模块的输入是重建的点云几何,输出是构建好的LOD,该模块构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure BDA0002713123200000061
LODL-1为整个重建点云,L是大于0的自然数;属性预测点获取模块:该模块的输入是构建好的LOD,输出是当前点的属性预测点,该模块获得当前点的n个属性预测点,令(Ri=LODi- LODi-1)i=1…L-1,R0=LOD0,对于Ri中Hilbert码为H的点P,从LODi-1中Hilbert码范围在[H1,H2](H1≤H≤H2)内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值;
属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值;
重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
作为优选,一种基于新的处理顺序的点云属性解码方法包括:
Hilbert码生成模块:该模块输入是重建的点云几何坐标,输出是与点云几何坐标对应的Hilbert码,该模块从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000071
Figure BDA0002713123200000072
Figure BDA0002713123200000073
其中,
Figure BDA0002713123200000074
函数根据本次处理的二进制位的状态statei和本次处理的二进制位生成本次处理的二进制位对应的Hilbert码子码,mi不同时有不同的
Figure BDA0002713123200000075
Figure BDA0002713123200000076
生成Hilbert码子码的机理是根据由 statei确定的Hilbert子曲线的形状以及由本次处理的二进制位确定的 Hilbert子曲线上的序号确定Hilbert码子码,
Figure BDA0002713123200000077
函数根据本次处理的二进制位的状态statei和本次处理的二进制位生成下次处理的二进制位的状态statei+1,mi不同时有不同的
Figure BDA0002713123200000078
Figure BDA0002713123200000079
生成下次处理的二进制位的状态statei+1的机理是根据由statei确定的Hilbert子曲线的形状以及由本次处理的二进制位确定的Hilbert子曲线上的序号确定下次处理的二进制位的状态statei+1,二进制位对应的状态和二进制位对应的 Hilbert子曲线的形状一一对应,共进行p次处理,各次处理的mi的总和为 N,即
Figure BDA0002713123200000081
属性解码模块:该模块的输入是属性码流,输出是重建的点云属性,该模块按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息。
由于采用Hilbert序有着最好的空间近邻特性,因此可以更大概率的找到和当前点三维空间上更相近的邻居点作为预测点,从而使得预测点的属性值和当前点的属性值更相关,进而在实现复杂度不变的前提下提升点云属性的压缩效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明涉及的三维Hilbert曲线的示意图;
图2是本发明实施例算法流程图;
图3是本发明专利实施例装置示意图;
具体实施方式
为了进一步理解本发明,下面结合实施例对本发明的优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
为了表述方便,做如下定义:
对于n个二进制数X1,X2,…,Xn,X1X2…Xn表示将这n个二进制数按位拼接在一起,且左边的数是高位,右边的数是低位。
如果一个D维超立方体的各个维度均被2n等分,则该超立方体被称为D维n阶超立方体,使用
Figure BDA0002713123200000091
表示,使用(X1,X2…Xd…XD)表示D维n阶超立方体中最小子立方体的的坐标,其中,0≤Xd<2n,1≤d≤D。一个穿行于
Figure BDA0002713123200000092
中最小子立方体的曲线被称为D维n阶Hilbert曲线,用
Figure BDA0002713123200000093
表示,D维n阶超立方体
Figure BDA0002713123200000094
中每个最小子立方体在
Figure BDA0002713123200000095
上的扫描顺序索引称为该最小子立方体的Hilbert码,用
Figure BDA0002713123200000096
Figure BDA0002713123200000097
从0开始。
D维1阶Hilbert曲线在D维1阶超立方体
Figure BDA0002713123200000098
中扫描最小立方体的顺序就是gray 码的顺序,例如对于三维而言,扫描顺序为0、1、2、3、4、5、6、7的子立方体的 gray码的分别是000、001、011、010、110、111、101、100,正好是子立方体的坐标,因此可以根据gray码来生成D维1阶曲线的Hilbert码。
使用符号(x1x2…xK)b表示K位b进制数,其中0≤xk<b,1≤k≤K。
Gray码编码函数为
G((x1x2…xK)2)=(g1g2…gK)2
(g1g2…gK)2是(x1x2…xK)2的gray码,计算公式如下
(g1g2…gK)2=(x1x2…xK)2∧((x1x2…xK)2>>1)
其中∧为按位异或运算符,>>为右移运算符。
Gray码解码函数为
DG((g1g2…gK)2)=(x1x2…xK)2
其中xk=DGk((g1g2…gK)2)
计算公式如下
x1=DG1((g1g2…gK)2)=g1,
Figure BDA0002713123200000099
Hilbert曲线是自相似的,曲线的生成是一个递归的过程,n+1阶Hilbert曲线,需要用到n阶Hilbert曲线,具体的:将D维1阶超立方体的2D个子立方体对应的位置看做D维空间的2D个象限,那么对于n+1阶Hilbert曲线而言,需要将n阶 Hilbert曲线直接拷贝或者经过镜像翻转之后放在n+1阶Hilbert曲线的某个象限,然后将相邻象限的n阶Hilbert曲线或者镜像翻转后的n阶Hilbert曲线的起点和和终点连接起来,这样就构成了n+1阶曲线。用到的翻转主要有两种:镜像翻转1 和镜像翻转2,这两种翻转都是沿着某个超平面的镜像翻转,其中
镜像翻转1是沿超平面Xi-Xj=0翻转,坐标表达上需要交换Xi和Xj的坐标,用
Figure BDA0002713123200000101
表示坐标的交换。
镜像翻转2是沿着超平面
Figure BDA0002713123200000102
翻转,坐标表达上需要将Xi的坐标变为2n- 1-Xi
这两种翻转都是保序,即曲线上的各个点翻转前后在曲线上的相对位置不变。
Hilbert子曲线是有方向的,方向可由起点坐标和终点坐标唯一确定,且起点和终点的坐标只有一位不同。例如3维1阶Hilbert曲线的起点坐标为DG(0)=000,终点坐标为DG(7)=100。分别使用Bq和Eq表示D维1阶在象限q的子曲线的起点和终点坐标(如前所述,象限q的坐标可由gray码G(q)得到),那么对于三维,有B0= 000,E0=010,B1=000,E1=100,B2=000,E2=100,B3=110,E3= 111,B4=110,E4=111,B5=101,E5=001,B6=101,E6=001,B7= 001,E7=011。
可由起点和终点的坐标确定将各个子曲线变为相似于1阶曲的线镜像翻转。
后续均只考虑三维空间,即D=3,给定一个点的三维坐标(X1,X2,X3),按照二进制展开为
Figure BDA0002713123200000103
Figure BDA0002713123200000104
Figure BDA0002713123200000105
象限q的镜像翻转1
Figure BDA0002713123200000106
得到3位数
Figure BDA0002713123200000107
Figure BDA0002713123200000108
代表镜像翻转1的翻转规则,具体翻转规则如下,由于入点和出点坐标只有一位不同,所以G(0)∧DG(7)和Bq∧Eq都只有一位为1,所以
Figure BDA0002713123200000109
的各个二进制位中要么只有两个1,要么全为0,如果
Figure BDA00027131232000001010
的第i位和第j位为1,那么交换坐标Xi和Xj,1≤i,j≤3。
象限q的镜像翻转2
Figure BDA00027131232000001011
得到3位数
Figure BDA00027131232000001012
Figure BDA00027131232000001013
代表镜像翻转2的翻转规则,具体翻转规则如下,如果
Figure BDA00027131232000001014
第i 位为1,令Xi=2n-1-Xi,其中n为待翻转曲线的阶数。
Hilbert编码是根据给定的坐标(X1,X2,X3)计算Hilbert码HCodeN= (C1C2…Cn…CN-1CN)的过程,其中Cn是每层的3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000111
2.令
Figure BDA0002713123200000112
3.镜像翻转2:如果
Figure BDA0002713123200000113
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000114
的第i位和第j位为1,
Figure BDA0002713123200000115
1≤i,j≤3。
实施例1
本实施例的一种基于新的处理顺序的点云属性解码方法,如图2所示,包含以下内容,
对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000116
Figure BDA0002713123200000117
Figure BDA0002713123200000118
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000119
2.令
Figure BDA00027131232000001110
3.镜像翻转2:如果
Figure BDA00027131232000001111
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA00027131232000001112
的第i位和第j位为1,
Figure BDA00027131232000001113
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下步骤进行处理:
1)使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序:选取Hilbert序下当前点的前1个点点P,设其属性值分别为
Figure BDA00027131232000001114
则属性值
Figure BDA00027131232000001115
即为当前点的属性预测值;
2)从码流中解码出当前点的属性残差值R;
3)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000121
实施例2
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000122
Figure BDA0002713123200000123
Figure BDA0002713123200000124
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000125
2.令
Figure BDA0002713123200000126
3.镜像翻转2:如果
Figure BDA0002713123200000127
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000128
的第i位和第j位为1,
Figure BDA0002713123200000129
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数,本实施例中n取3:选取Hilbert序下当前点的前3个点Pi= (Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA00027131232000001210
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000131
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000132
Figure BDA0002713123200000133
3)从码流中解码出当前点的属性残差值R;
4)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000134
实施例3
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000135
Figure BDA0002713123200000136
Figure BDA0002713123200000137
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000138
2.令
Figure BDA0002713123200000139
3.镜像翻转2:如果
Figure BDA00027131232000001310
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000141
的第i位和第j位为1,
Figure BDA0002713123200000142
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i= 1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000143
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000144
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000145
Figure BDA0002713123200000146
3)从码流中解码出当前点的属性残差值R;
4)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000147
实施例4
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000151
Figure BDA0002713123200000152
Figure BDA0002713123200000153
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000154
2.令
Figure BDA0002713123200000155
3.镜像翻转2:如果
Figure BDA0002713123200000156
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000157
的第i位和第j位为1,
Figure BDA0002713123200000158
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数,本实施例中L取128:在Hilbert序下当前点的前128个点中查找与当前点共面和共线的邻居点,设最终找到的邻居点的个数为k,若k不为0,则设这些邻居点为(Pi)i=12..k,每一个邻居点的属性值为(Ai)i=12..k
2)赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo,本实施例中令ωpl=2,ωpo=1,:每一个邻居点的权重为(ωi)i=12..k,其中对距离为1的邻居点赋权重为2,对距离为
Figure BDA0002713123200000159
的邻居点赋权重为2;
3)使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值:使用以下公式计算这些邻居点(Pi)i=12..k的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000161
Figure BDA0002713123200000162
4)从码流中解码出当前点的属性残差值R;
5)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000163
实施例5
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000164
Figure BDA0002713123200000165
Figure BDA0002713123200000166
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000167
2.令
Figure BDA0002713123200000168
3.镜像翻转2:如果
Figure BDA0002713123200000169
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA00027131232000001610
的第i位和第j位为1,
Figure BDA00027131232000001611
1≤i,j≤3;
构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure BDA00027131232000001612
Figure BDA00027131232000001613
LODL-1为整个重建点云,L是大于0的自然数,本实施例中L取10;
获得当前点的n个属性预测点,令(Ri=LODi-LODi-1)i=1…L-1,R0=LOD0,对于Ri中Hilbert码为H的点P,从LODi-1中Hilbert码范围在[H1,H2](H1≤H≤ H2)内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数,本实施例中n取3,令这3个属性预测点为Pi=(Xi,Yi,Zi),i= 1,2,3,设其属性值分别为(Ai)i=1,2,3
使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000171
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000172
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000173
Figure BDA0002713123200000174
从码流中解码出当前点的属性残差值R;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000175
实施例6
本实施例的一种基于新的处理顺序的点云属性解码装置,如图3所示,包含以下模块,
Hilbert码生成模块:该模块的输入是重建的点云几何,输出是含有Hilbert码的点云几何,该模块对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000181
Figure BDA0002713123200000182
Figure BDA0002713123200000183
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000184
2.令
Figure BDA0002713123200000185
3.镜像翻转2:如果
Figure BDA0002713123200000186
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000187
的第i位和第j位为1,
Figure BDA0002713123200000188
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下模块进行处理:
1)属性预测值获取模块:该模块输入是已重建的点云,输出是当前点的属性预测值,该模块使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序:选取Hilbert序下当前点的前1个点点P,设其属性值分别为
Figure BDA0002713123200000189
则属性值
Figure BDA00027131232000001810
即为当前点的属性预测值;
2)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
3)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA00027131232000001811
实施例7
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
Hilbert码生成模块:该模块的输入是重建的点云几何,输出是含有Hilbert码的点云几何,该模块对于重建的点云几何,跟据其三维空间坐标生成与其相关联的Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000191
Figure BDA0002713123200000192
Figure BDA0002713123200000193
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000194
2.令
Figure BDA0002713123200000195
3.镜像翻转2:如果
Figure BDA0002713123200000196
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000197
的第i位和第j位为1,
Figure BDA0002713123200000198
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数,本实施例中n取3:选取Hilbert序下当前点的前 3个点Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000199
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA00027131232000001910
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000201
Figure BDA0002713123200000202
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000203
实施例8
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
Hilbert码生成模块:该模块的输入是重建的点云几何,输出是含有Hilbert码的点云几何,该模块对于重建的点云几何,跟据其三维空间坐标生成与其相关联的 Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000204
Figure BDA0002713123200000205
Figure BDA0002713123200000206
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000207
2.令
Figure BDA0002713123200000208
3.镜像翻转2:如果
Figure BDA0002713123200000209
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000211
的第i位和第j位为1,
Figure BDA0002713123200000212
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在 Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000213
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000214
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000215
Figure BDA0002713123200000216
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000221
实施例9
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
Hilbert码生成模块:该模块的输入是重建的点云几何,输出是含有Hilbert码的点云几何,该模块对于重建的点云几何,跟据其三维空间坐标生成与其相关联的 Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000222
Figure BDA0002713123200000223
Figure BDA0002713123200000224
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000225
2.令
Figure BDA0002713123200000226
3.镜像翻转2:如果
Figure BDA0002713123200000227
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000228
的第i位和第j位为1,
Figure BDA0002713123200000229
1≤i,j≤3;
按照Hilbert序依次处理点云中的点的属性值,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数,本实施例中L取128:在Hilbert序下当前点的前128个点中查找与当前点共面和共线的邻居点,设最终找到的邻居点的个数为k,若k不为0,则设这些邻居点为 (Pi)i=12..k,每一个邻居点的属性值为(Ai)i=12..k
2)属性预测点赋权模块:该模块输入是属性预测点,输出是带权重的属性预测点,该模块赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo,本实施例中令ωpl=2,ωpo=1:每一个邻居点的权重为(ωi)i=12..k,其中对距离为1的邻居点赋权重为2,对距离为
Figure BDA0002713123200000231
的邻居点赋权重为2;
3)属性预测值计算模块:该模块输入是带权重的属性预测点,输出是当前点的属性预测值,该模块使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值:使用以下公式计算这些邻居点(Pi)i=12..k的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000232
Figure BDA0002713123200000233
4)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
5)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000234
实施例10
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
Hilbert码生成模块:该模块的输入是重建的点云几何,输出是含有Hilbert码的点云几何,该模块对于重建的点云几何,跟据其三维空间坐标生成与其相关联的 Hilbert码,如前面所述的,对于给定的三维坐标为(X1,X2,X3)的点,其坐标按二进制展开为
Figure BDA0002713123200000235
Figure BDA0002713123200000236
Figure BDA0002713123200000237
则可以通过以下过程求出点(X1,X2,X3)的Hilbert码HCodeN= (C1C2…Cn…CN-1CN),其中Cn是3位二进制子码,n依次取1到N进行以下计算依次获得Cn
1.
Figure BDA0002713123200000238
2.令
Figure BDA0002713123200000239
3.镜像翻转2:如果
Figure BDA0002713123200000241
第i位为1,令Xi=2N-n+1-1-Xi,1≤i≤3
4.镜像翻转1:如果
Figure BDA0002713123200000242
的第i位和第j位为1,
Figure BDA0002713123200000243
1≤i,j≤3;
LOD构建模块:该模块的输入是重建的点云几何,输出是构建好的LOD,该模块构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure BDA0002713123200000244
Figure BDA0002713123200000245
LODL-1为整个重建点云,L是大于0的自然数,本实施例中L取10;
属性预测点获取模块:该模块的输入是构建好的LOD,输出是当前点的属性预测点,该模块获得当前点的n个属性预测点,令(Ri=LODi-LODi-1)i=1…L-1,R0= LOD0,对于Ri中Hilbert码为H的点P,从LODi-1中Hilbert码范围在 [H1,H2](H1≤H≤H2)内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数,本实施例中n取3,令这3个属性预测点为Pi= (Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000246
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000247
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000248
Figure BDA0002713123200000251
属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000252
实施例11
本实施例的一种基于新的处理顺序的点云属性解码方法,如图2所示,包含以下内容,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下步骤进行处理:
1)使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序:选取Hilbert序下当前点的前1个点点P,设其属性值分别为
Figure BDA0002713123200000253
则属性值
Figure BDA0002713123200000254
即为当前点的属性预测值;
2)从码流中解码出当前点的属性残差值R;
3)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000255
实施例12
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数,本实施例中n取3:选取Hilbert序下当前点的前3个点Pi= (Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000261
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000262
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000263
Figure BDA0002713123200000264
3)从码流中解码出当前点的属性残差值R;
4)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000265
实施例13
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i= 1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000271
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000272
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000273
Figure BDA0002713123200000274
3)从码流中解码出当前点的属性残差值R;
4)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000275
实施例14
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数,本实施例中L取128:在Hilbert序下当前点的前128个点中查找与当前点共面和共线的邻居点,设最终找到的邻居点的个数为k,若k不为0,则设这些邻居点为(Pi)i=12..k,每一个邻居点的属性值为(Ai)i=12..k
2)赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo,本实施例中令ωpl=2,ωpo=1:每一个邻居点的权重为 (ωi)i=12..k,其中对距离为1的邻居点赋权重为2,对距离为
Figure BDA0002713123200000281
的邻居点赋权重为2;
3)使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值:使用以下公式计算这些邻居点(Pi)i=12..k的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000282
Figure BDA0002713123200000283
4)从码流中解码出当前点的属性残差值R;
5)根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000284
实施例15
本实施例的一种基于新的处理顺序的点云属性解码装置,如图3所示,包含以下模块,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下模块进行处理:
1)属性预测值获取模块:该模块输入是已重建的点云,输出是当前点的属性预测值,该模块使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,其中Hilbert序是点云中的点按照其对应的Hilbert码从小到大或者从大到小排序得到的点序:选取Hilbert序下当前点的前1个点点P,设其属性值分别为
Figure BDA0002713123200000285
则属性值
Figure BDA0002713123200000286
即为当前点的属性预测值;
2)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
3)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000291
实施例16
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数,本实施例中n取3:选取Hilbert序下当前点的前 3个点Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000292
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000293
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000301
Figure BDA0002713123200000302
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000303
实施例17
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在 Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000304
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000305
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000311
Figure BDA0002713123200000312
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000313
实施例18
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
当解码的几何点为hilbert序时,直接按照解码序处理点云属性,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数,本实施例中L取128:在Hilbert序下当前点的前128个点中查找与当前点共面和共线的邻居点,设最终找到的邻居点的个数为k,若k不为0,则设这些邻居点为 (Pi)i=12..k,每一个邻居点的属性值为(Ai)i=12..k,;
2)属性预测点赋权模块:该模块输入是属性预测点,输出是带权重的属性预测点,该模块赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo,本实施例中令ωpl=2,ωpo=1:每一个邻居点的权重为(ωi)i=12..k,其中对距离为1的邻居点赋权重为2,对距离为
Figure BDA0002713123200000321
的邻居点赋权重为2;
3)属性预测值计算模块:该模块输入是带权重的属性预测点,输出是当前点的属性预测值,该模块使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值:使用以下公式计算这些邻居点(Pi)i=12..k的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000322
Figure BDA0002713123200000323
4)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
5)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000324
实施例19
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000325
本实施例中N=bitWidth、X1=x、X2=y、X3=z,每次固定都只处理1位即mi=1,p=bitWidth,
Figure BDA0002713123200000326
对应查表操作 HilbertTable[state][pos][1],
Figure BDA0002713123200000328
对应查表操作HilbertTable [state][pos][0],通过以下方法获得被解码点的希尔伯特(Hilbert)码HCode:
Figure BDA0002713123200000327
其中>>为按位右移操作,<<为按位左移操作,用到的查找表HilbertCode如下:
Figure BDA0002713123200000331
按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i= 1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000332
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000333
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000341
Figure BDA0002713123200000342
3)从码流中解码出当前点的属性残差值R;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000343
实施例20
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
Hilbert码生成模块:该模块输入是重建的点云几何坐标,输出是与点云几何坐标对应的Hilbert码,该模块从高位到低位依次处理点云中重建点的三维几何坐标 (X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的 (3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000344
本实施例中N=bitWidth、 X1=x、X2=y、X3=z,每次固定都只处理1位即mi=1,p=bitWidth,
Figure BDA0002713123200000345
对应查表操作HilbertTable[state][pos][1],
Figure BDA0002713123200000346
对应查表操作HilbertTable[state][pos][0],通过以下方法获得被解码点的希尔伯特(Hilbert)码HCode:
Figure BDA0002713123200000347
其中>>为按位右移操作,<<为按位左移操作,用到的查找表HilbertCode如下:
Figure BDA0002713123200000351
属性解码模块:该模块的输入是属性码流,输出是重建的点云属性,该模块按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在 Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000352
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000353
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z| a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000361
Figure BDA0002713123200000362
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000363
实施例21
本实施例的一种基于新的处理顺序的点云属性解码方法,包含以下内容,
从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000364
本实施例中N=bitWidth且为偶数、X1=x、X2=y、 X3=z,每次固定都只处理2位即mi=2,p=bitWidth/2,
Figure BDA0002713123200000365
对应查表操作HilbertTable[state][pos][1],
Figure BDA0002713123200000366
对应查表操作 HilbertTable[state][pos][0],通过以下方法获得被解码点的希尔伯特(Hilbert) 码HCode:
Figure BDA0002713123200000367
其中>>为按位右移操作,<<为按位左移操作,用到的查找表HilbertCode如下:
Figure BDA0002713123200000371
Figure BDA0002713123200000381
按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息,对于当前点的属性值执行如下步骤进行处理:
1)选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i= 1,2,3,设其属性值分别为(Ai)i=1,2,3
2)使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000382
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000383
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z| a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000391
Figure BDA0002713123200000392
3)从码流中解码出当前点的属性残差值R;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000393
实施例22
本实施例的一种基于新的处理顺序的点云属性解码装置,包含以下模块,
从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,其中第i次处理:根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码子码
Figure BDA0002713123200000394
本实施例中N=bitWidth且为偶数、X1=x、X2=y、 X3=z,每次固定都只处理2位即mi=2,p=bitWidth/2,
Figure BDA0002713123200000395
对应查表操作HilbertTable[state][pos][1],
Figure BDA0002713123200000396
对应查表操作 HilbertTable[state][pos][0],通过以下方法获得被解码点的希尔伯特(Hilbert) 码HCode:
Figure BDA0002713123200000397
其中>>为按位右移操作,<<为按位左移操作,用到的查找表HilbertCode如下:
Figure BDA0002713123200000401
Figure BDA0002713123200000411
属性解码模块:该模块的输入是属性码流,输出是重建的点云属性,该模块按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息,对于当前点的属性值执行如下模块进行处理:
1)属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,n是自然数,本实施例中n取3:在 Hilbert序下当前点的前128个点中查找3个距离当前点最近的点,令其为Pi=(Xi,Yi,Zi),i=1,2,3,设其属性值分别为(Ai)i=1,2,3
2)属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这3个属性预测点重建属性值的加权平均值作为当前点的属性预测值:分别求得3个点的权重(ωi)i=1,2,3,
Figure BDA0002713123200000412
其中di是点Pi距离当前点(X,Y,Z)的距离,至少可以是以下距离之一:
◆欧氏距离
Figure BDA0002713123200000413
◆欧氏距离的平方
di=a(Xi-X)2+b(Yi-Y)2+c(Zi-Z)2
◆切比雪夫距离
di=max(a|Xi-X|,b|Yi-Y|,c|Zi-Z|)
◆曼哈顿距离
di=a|Xi-X|+b|Yi-Y|+c|Zi-Z|
a、b、c为三个维度的加权系数,用来控制三个维度的权重,本实施例中,加权系数a、b、c分别取值为a=2、b=1、c=3;
使用以下公式计算三个点P1、P2、P3的属性值的加权平均值,将该加权平均值作为当前点的属性预测值
Figure BDA0002713123200000421
Figure BDA0002713123200000422
3)属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值R;
4)重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值:当前点的重建属性值为
Figure BDA0002713123200000423
参考文献
[1]“DoC for ISO/IEC CD 23090-9Geometry-based Point CloudCompression”, ISO/IEC JTC1/SC29 WG11 Doc.W19094,Brussels,Belgium,Jan.2020.
[2]“AVS点云编码探索模型软件描述(PCEM V0.3)”,AVS Doc N2828,Online,Apr.2020。

Claims (12)

1.一种基于新的处理顺序的点云属性解码方法,其特征在于包括:
从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,得到所述重建点的Hilbert码,其中
第i次处理得到Hilbert码的第i个子码、共mi位,包括:
根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码的第i个子码
Figure FDA0003950165470000011
Figure FDA0003950165470000012
即根据由本次处理的二进制位的状态statei确定的Hilbert子曲线的形状、由本次处理的二进制位确定的Hilbert子曲线上的序号,确定本次处理所得到的Hilbert码子码
Figure FDA0003950165470000013
其中mi不同时有不同的
Figure FDA0003950165470000014
函数;
生成二进制位的状态statei+1
Figure FDA0003950165470000015
即根据由本次处理的二进制位的状态statei确定的Hilbert子曲线的形状、由本次处理的二进制位确定的Hilbert子曲线上的序号,确定下次处理的二进制位的状态statei+1,mi不同时有不同的
Figure FDA0003950165470000016
所述二进制位对应的状态和所述二进制位对应的Hilbert子曲线的形状一一对应;
共进行p次处理,各次处理的mi的总和为N,即
Figure FDA0003950165470000017
按照Hilbert码从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息。
2.权利要求1所述的基于新的处理顺序的点云属性解码方法,其特征在于,
所述的解码得到点云的重建属性信息包括:
使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,所述Hilbert序是指点云中的点按照其对应的所述Hilbert码从小到大或者从大到小排序得到的序;
从码流中解码出当前点的属性残差值;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
3.权利要求2所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
选取Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数;
使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
4.权利要求2所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,L是大于0的自然数,n是自然数;
使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
5.权利要求2所述的基于新的处理顺序的点云属性解码方法,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数;
赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo
使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值。
6.权利要求1所述的基于新的处理顺序的点云属性解码方法,其特征在于,
所述的解码得到点云的重建属性信息包括:
构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure FDA0003950165470000021
Figure FDA0003950165470000022
LODL-1为整个重建点云,L是大于0的自然数;
获得当前点P的n个属性预测点:令(Ri=LODi-LODi-1)i=1…L-1,R0=LOD0,P点的所述Hilbert码记为H,对于Ri中的点P,从LODi-1中Hilbert码范围在[H1,H2]内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数,所述的H1≤H,所述的H2≥H;
使用这n个属性预测点的重建属性值的加权平均值作为当前点的属性预测值;
从码流中解码出当前点的属性残差值;
根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
7.一种基于新的处理顺序的点云属性解码装置,其特征在于包括:
Hilbert码生成模块:该模块输入是重建的点云几何坐标,输出是与点云几何坐标对应的Hilbert码,该模块从高位到低位依次处理点云中重建点的三维几何坐标(X1,X2,X3)N的各二进制位,得到所述重建点的Hilbert码,其中
第i次处理得到Hilbert码的第i个子码、共mi位,包括:
根据重建点的三维几何坐标中的(3*mi)个二进制位、生成对应的Hilbert码的第i个子码
Figure FDA0003950165470000031
Figure FDA0003950165470000032
即根据由本次处理的二进制位的状态statei确定的Hilbert子曲线的形状、由本次处理的二进制位确定的Hilbert子曲线上的序号,确定本次处理所得到的Hilbert码子码
Figure FDA0003950165470000033
其中mi不同时有不同的
Figure FDA0003950165470000034
生成二进制位的状态statei+1
Figure FDA0003950165470000035
即根据由本次处理的二进制位的状态statei确定的Hilbert子曲线的形状、由本次处理的二进制位确定的Hilbert子曲线上的序号,确定下次处理的二进制位的状态statei+1,mi不同时有不同的
Figure FDA0003950165470000041
所述二进制位对应的状态和所述二进制位对应的Hilbert子曲线的形状一一对应;
共进行p次处理,各次处理的mi的总和为N,即
Figure FDA0003950165470000042
属性解码模块:该模块的输入是属性码流,输出是重建的点云属性,该模块按照Hilbert从小到大或者从大到小的序,依次从码流中解码得到点云的重建属性信息。
8.权利要求7所述的基于新的处理顺序的点云属性解码装置,所述的属性解码模块的特征在于包括:
属性预测值获取模块:该模块输入是已重建的点云,输出是当前点的属性预测值,该模块使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值,所述Hilbert序是指点云中的点按照其对应的所述Hilbert码从小到大或者从大到小排序得到的点序;
属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值;
重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
9.权利要求8所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取所述Hilbert序下前序n个解码点作为当前点的属性预测点,n是自然数;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
10.权利要求8所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中n个距离当前点最近的点作为当前点的属性预测点,L是大于0的自然数,n是自然数;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值。
11.权利要求8所述的基于新的处理顺序的点云属性解码装置,其特征在于,所述使用Hilbert序下前序解码点重建属性值的加权平均值作为当前点的属性预测值包括:
属性预测点获取模块:该模块输入是已重建的点云,输出是当前点的属性预测点,该模块选取Hilbert序下前序L个点中当前点的共面点和共线点作为当前点的属性预测点,其中共面点是该点所在立方体与当前点所在立方体有一个公共面的点,共线点是指该点所在立方体与当前点所在立方体有一个公共边的点,L是大于0的自然数;
属性预测点赋权模块:该模块输入是属性预测点,输出是带权重的属性预测点,该模块赋予共面点和共线点权重ωpl和ωpo,其中ωpl和ωpo是大于等于0的实数,ωpl大于ωpo
属性预测值计算模块:该模块输入是带权重的属性预测点,输出是当前点的属性预测值,该模块使用共面点和共线点重建属性值的加权平均值作为当前点的属性预测值。
12.权利要求7所述的基于新的处理顺序的点云属性解码装置,所述的属性解码模块的特征在于包括:
LOD构建模块:该模块的输入是重建的点云几何,输出是构建好的LOD,该模块构建L层细节层次(LODi)i=0,1…L-1,其中,LODi是重建点云的子集,
Figure FDA0003950165470000051
Figure FDA0003950165470000052
LODL-1为整个重建点云,L是大于0的自然数;
属性预测点获取模块:该模块的输入是构建好的LOD,输出是当前点的属性预测点,该模块获得当前点P的n个属性预测点,令(Ri=LODi-LODi-1)i=1…L-1,R0=LOD0,P点的所述Hilbert码记为H,对于Ri中的点P,从LODi-1中Hilbert码范围在[H1,H2]内的点里面选取n个与点P距离最近的点,将这n个点作为当前点的属性预测点,n是自然数,所述的H1≤H,所述的H2≥H;
属性预测值计算模块:该模块输入是属性预测点,输出是当前点的属性预测值,该模块使用这n个属性预测点重建属性值的加权平均值作为当前点的属性预测值;
属性残差解码模块:该模块输入是码流,输出是属性残差,该模块从码流中解码出当前点的属性残差值;
重建属性值获取模块:该模块输入是属性残差和属性预测值,输出是当前点的重建属性值,该模块根据当前点的属性预测值和解码出的属性残差值获得当前点的重建属性值。
CN202011063672.9A 2020-08-16 2020-09-30 一种基于新的处理顺序的点云属性解码方法和装置 Active CN114079793B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21857586.8A EP4199520A4 (en) 2020-08-16 2021-08-13 METHOD AND DEVICE FOR ENCODING AND DECODING POINT CLOUD ATTRIBUTES
US18/021,453 US20230351640A1 (en) 2020-08-16 2021-08-13 Point cloud attribute encoding and decoding method and device
PCT/CN2021/112484 WO2022037491A1 (zh) 2020-08-16 2021-08-13 一种点云属性编解码方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020108223520 2020-08-16
CN202010822352 2020-08-16

Publications (2)

Publication Number Publication Date
CN114079793A CN114079793A (zh) 2022-02-22
CN114079793B true CN114079793B (zh) 2023-02-28

Family

ID=80282864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011063672.9A Active CN114079793B (zh) 2020-08-16 2020-09-30 一种基于新的处理顺序的点云属性解码方法和装置

Country Status (1)

Country Link
CN (1) CN114079793B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105957142A (zh) * 2016-04-19 2016-09-21 南京师范大学 一种面向TIN构建的Hilbert排序方法
CN110892725A (zh) * 2017-07-13 2020-03-17 交互数字Vc控股公司 一种用于编码/解码表示3d对象的点云的方法和装置
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372728B2 (en) * 2016-09-16 2019-08-06 Oracle International Corporation System and method providing a scalable and efficient space filling curve approach to point cloud feature generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105957142A (zh) * 2016-04-19 2016-09-21 南京师范大学 一种面向TIN构建的Hilbert排序方法
CN110892725A (zh) * 2017-07-13 2020-03-17 交互数字Vc控股公司 一种用于编码/解码表示3d对象的点云的方法和装置
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备

Also Published As

Publication number Publication date
CN114079793A (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
CN109257604B (zh) 一种基于tmc3点云编码器的颜色属性编码方法
CN110572655B (zh) 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备
WO2022042539A1 (zh) 一种基于空间顺序的点云分层方法、点云预测方法及设备
CN106846425A (zh) 一种基于八叉树的散乱点云压缩方法
CN114793484A (zh) 点云编码方法、点云解码方法、装置及存储介质
WO2020169983A1 (en) Facial shape representation and generation system and method
WO2022037491A1 (zh) 一种点云属性编解码方法和装置
Pereira et al. Point cloud coding: A privileged view driven by a classification taxonomy
CN116977536A (zh) 一种基于混合神经辐射场的无边界场景新视角合成方法
CN110097581B (zh) 基于点云配准icp算法构建k-d树的方法
Fan et al. Deep geometry post-processing for decompressed point clouds
CN114079793B (zh) 一种基于新的处理顺序的点云属性解码方法和装置
CN109063834B (zh) 一种基于卷积特征响应图的神经网络剪枝方法
Mohamed et al. Speeding up fractal image compression by genetic algorithms
Huang et al. Patch-Wise LiDAR Point Cloud Geometry Compression Based on Autoencoder
CN113453018B (zh) 一种点云属性值预测方法和装置
CN110349228B (zh) 一种数据驱动最小二乘预测的三角网格压缩方法
CN115512077A (zh) 一种基于多层动态特征点云的隐式三维场景表征方法
Qiu et al. Rich-information watermarking scheme for 3D models of oblique photography
CN113096199A (zh) 一种基于莫顿码的点云属性预测方法、装置和介质
CN113505801B (zh) 一种用于超维计算的图像编码方法
Chakrapani et al. Hybrid genetic-simulated annealing approach for fractal image compression
CN116152054B (zh) 利用时间迭代方式来提高存储量和回忆精度的图像超分辨率方法
WO2021139796A1 (zh) 莫顿码的构建方法、编码器、解码器、及存储介质
Lu et al. Dynamically restricted codebook-based vector quantisation scheme for mesh geometry compression

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