一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云属性的预测方法、装置及相关设备与流程

2022-12-13 22:54:51 来源:中国专利 TAG:


1.本技术实施例涉及视频编解码技术领域,尤其涉及一种点云属性的预测方法、装置及相关设备。


背景技术:

2.通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的点。在视频制作过程中,将点云数据以点云媒体文件的形式在视频制作设备和视频播放设备之间传输。但是,如此庞大的点给传输带来了挑战,因此,视频制作设备需要对点云数据进行压缩后传输。
3.点云数据的压缩主要包括位置信息的压缩和属性信息的压缩,在属性信息压缩时,通过预测来减小或消除点云数据中的冗余信息,例如,从已编码的点中获得当前点的一个或多个相邻点,根据相邻点的属性信息,来预测当前点的属性信息。
4.目前点云属性的预测过程是,获取预设的邻居点参数,例如备选点数量、邻居点数量等,根据预设的邻居点参数,确定点云属性信息的预测值,即目前通过预设的方式设定邻居点参数,导致点云属性的预测方式较单一。


技术实现要素:

5.本技术提供一种点云属性的预测方法、装置及相关设备,通过新的方法确定邻居点参数,进而丰富了确定点云属性的预测方式。
6.第一方面,本技术提供一种点云属性的预测方法,包括:
7.解码点云码流,得到点云中已解码的点;
8.确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
9.根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
10.根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已解码的点中,选择所述当前点的至少一个邻居点;
11.根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
12.第二方面,本技术提供一种点云属性的预测方法,包括:
13.获得点云中已编码的点;
14.确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
15.根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前
点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
16.根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已编码的点中,选择所述当前点的至少一个邻居点;
17.根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
18.第三方面,提供了一种点云属性的预测装置,包括:
19.解码单元,用于解码点云码流,得到点云中已解码的点;
20.条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
21.参数确定单元,用于根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
22.选择单元,用于根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已解码的点中,选择所述当前点的至少一个邻居点;
23.预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值
24.第四方面,提供了一种点云属性的预测装置,包括:
25.获取单元,用于获得点云中已编码的点;
26.条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
27.参数确定单元,用于根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
28.选择单元,用于根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已编码的点中,选择所述当前点的至少一个邻居点;
29.预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值
30.第五方面,提供了一种编码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
31.第六方面,提供了一种解码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
32.第七方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面至第二方面中任一方面或其各实现方式中的方法。
33.第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
34.第九方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
35.第十方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
36.综上,本技术通过解码点云码流,得到点云中已解码的点;确定目标关联关系,目标关联关系包括预设的邻居点参数之间关联关系、以及预设的点云的空间参数与邻居点参数之间关联关系中的至少一个关联关系;根据目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,邻居点参数包括当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个;根据当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从已解码的点中,选择当前点的至少一个邻居点;根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。即本技术通过目标关联关系,确定邻居点参数,相比于直接预设邻居点参数的方式,丰富了确定点云属性预测值的方式。另外,相比现有的根据经验设定邻居点参数,本技术实施例根据上述目标关联关系确定邻居点参数,可以提高邻居点参数确定的准确性,基于准确确定的邻居点参数,可以准确确定出当前点的属性信息的预测值,进而提高了解码的解码效率。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本技术实施例涉及的一种点云视频编解码系统的示意性框图;
39.图2是本技术实施例提供的编码框架的示意性框图;
40.图3是本技术实施例提供的解码框架的示意性框图;
41.图4为本技术实施例提供的一实施例的点云属性的预测方法的流程图;
42.图5a为原始莫顿顺序下点云的排列示意图;
43.图5b为偏移莫顿顺序下点云的排列示意图;
44.图5c为当前点的相邻点的空间关系示意图;
45.图5d为与当前点共面的相邻点之间的莫顿码关系示意图;
46.图5e为与当前点共线的相邻点之间的莫顿码关系示意图;
47.图6为本技术实施例提供的一实施例的点云属性的预测方法的流程图;
48.图7是本技术实施例的一点云属性的预测装置的示意性框图;
49.图8是本技术实施例的一点云属性的预测装置的示意性框图;
50.图9是本技术实施例提供的电子设备的示意性框图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
52.应理解,在本发明实施例中,“与a对应的b”表示b与a相关联。在一种实现方式中,可以根据a确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
53.在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。
54.另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。为了便于理解本技术的实施例,首先对本技术实施例涉及到的相关概念进行如下简单介绍:
55.点云(point cloud)是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。
56.点云数据(point cloud data)是点云的具体记录形式,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,所述颜色信息可以是任意一种色彩空间上的信息。例如,所述颜色信息可以是(rgb)。再如,所述颜色信息可以是于亮度色度(ycbcr,yuv)信息。例如,y表示明亮度(luma),cb(u)表示蓝色色差,cr(v)表示红色,u和v表示为色度(chroma)用于描述色差信息。例如,根据激光测量原理得到的点云,所述点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,所述点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,所述点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
57.点云数据的获取途径可以包括但不限于以下至少一种:(1)计算机设备生成。计算机设备可以根据虚拟三维物体及虚拟三维场景的生成点云数据。(2)3d(3-dimension,三维)激光扫描获取。通过3d激光扫描可以获取静态现实世界三维物体或三维场景的点云数据,每秒可以获取百万级点云数据;(3)3d摄影测量获取。通过3d摄影设备(即一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集以获取现实世界的视觉场景的点云数据,通过3d摄影可以获得动态现实世界三维物体或三维场景的点云数据。(4)通过医学设备获取生物组织器官的点云数据。在医学领域可以通过磁共振成像(magnetic resonance imaging,mri)、电子计算机断层扫描(computed tomography,ct)、电磁定位信息等医学设备获取生物组织器官的点云数据。
58.点云可以按获取的途径分为:密集型点云和稀疏性点云。
59.点云按照数据的时序类型划分为:
60.第一静态点云:即物体是静止的,获取点云的设备也是静止的;
61.第二类动态点云:物体是运动的,但获取点云的设备是静止的;
62.第三类动态获取点云:获取点云的设备是运动的。
63.按点云的用途分为两大类:
64.类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
65.类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
66.图1为本技术实施例涉及的一种点云编解码系统100的示意性框图。需要说明的是,图1只是一种示例,本技术实施例的点云编解码系统包括但不限于图1所示。如图1所示,该点云编解码系统100包含编码设备110和解码设备120。其中编码设备用于对点云数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的点云数据。
67.本技术实施例的编码设备110可以理解为具有点云编码功能的设备,解码设备120可以理解为具有点云解码功能的设备,即本技术实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、点云游戏控制台、车载计算机等。
68.在一些实施例中,编码设备110可以经由信道130将编码后的点云数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的点云数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
69.在一个实例中,信道130包括使编码设备110能够实时地将编码后的点云数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的点云数据,且将调制后的点云数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
70.在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的点云数据。存储介质包含多种本地存取式数据存储介质,例如光盘、dvd、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的点云数据。
71.在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的点云数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的点云数据。可选的,该存储服务器可以存储编码后的点云数据且可以将该编码后的点云数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(ftp)服务器等。
72.一些实施例中,编码设备110包含点云编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
73.在一些实施例中,编码设备110除了包括点云编码器112和输入接口113外,还可以包括点云源111。
74.点云源111可包含点云采集装置(例如,扫描仪)、点云存档、点云输入接口、计算机图形系统中的至少一个,其中,点云输入接口用于从点云内容提供者处接收点云数据,计算机图形系统用于产生点云数据。
75.点云编码器112对来自点云源111的点云数据进行编码,产生码流。点云编码器112
经由输出接口113将编码后的点云数据直接传输到解码设备120。编码后的点云数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
76.在一些实施例中,解码设备120包含输入接口121和点云解码器122。
77.在一些实施例中,解码设备120除包括输入接口121和点云解码器122外,还可以包括显示装置123。
78.其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的点云数据。
79.点云解码器122用于对编码后的点云数据进行解码,得到解码后的点云数据,并将解码后的点云数据传输至显示装置123。
80.显示装置123显示解码后的点云数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(lcd)、等离子体显示器、有机发光二极管(oled)显示器或其它类型的显示装置。
81.此外,图1仅为实例,本技术实施例的技术方案不限于图1,例如本技术的技术还可以应用于单侧的点云编码或单侧的点云解码。
82.由于点云是海量点的集合,存储所述点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此对点云进行压缩是很有必要的。
83.截止目前,可通过点云编码框架对点云进行压缩。
84.点云编码框架可以是运动图像专家组(moving picture experts group,mpeg)提供的基于几何的点云压缩(geometry point cloud compression,g-pcc)编解码框架或基于视频的点云压缩(video point cloud compression,v-pcc)编解码框架,也可以是音点云编码标准(audio video standard,avs)组织提供的avs-pcc编解码框架。g-pcc及avs-pcc均针对静态的稀疏型点云,其编码框架大致相同。g-pcc编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,v-pcc编解码框架可用于针对第二类动态点云进行压缩。g-pcc编解码框架也称为点云编解码器tmc13,v-pcc编解码框架也称为点云编解码器tmc2。
85.下面以g-pcc编解码框架对本技术实施例可适用的编解码框架进行说明。
86.图2是本技术实施例提供的编码框架的示意性框图。
87.如图2所示,编码框架200可以从采集设备获取点云的位置信息(也称为几何信息或几何位置)和属性信息。点云的编码包括位置编码和属性编码。
88.位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。
89.属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
90.如图2所示,位置编码可通过以下单元实现:
91.坐标平移坐标量化单元201、八叉树构建单元202、八叉树重建单元203、熵编码单元204。
92.坐标平移坐标量化单元201可用于将点云中点的世界坐标变换为相对坐标,并对
坐标进行量化,可减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标。
93.八叉树构建单元202可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。
94.八叉树重建单元203用于重建点云中各点的几何位置,得到点的重建几何位置。
95.熵编码单元204可以采用熵编码方式对八叉树构建单元202输出的位置信息进行算术编码,即将八叉树构建单元202输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
96.属性编码可通过以下单元实现:
97.空间变换单元210、属性插值单元211、属性预测单元212、残差量化单元213以及熵编码单元214。
98.空间变换单元210可用于将点云中点的rgb色彩空间变换为ycbcr格式或其他格式。
99.属性插值单元211可用于转换点云中点的属性信息,以最小化属性失真。例如,属性转化单元211可用于得到点的属性信息的真实值。例如,所述属性信息可以是点的颜色信息。
100.属性预测单元212可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的真实值减去点的属性信息的预测值。
101.残差量化单元213可用于量化点的属性信息的残差值。
102.熵编码单元214可使用零行程编码(zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息。
103.结合图2,本技术对于几何结构编码,主要操作和处理如下:
104.(1)预处理(pre-processing):包括坐标变换(transform coordinates)和体素化(voxelize)。通过缩放和平移的操作,将3d空间中的点云数据转换成整数形式,并将其最小几何位置移至坐标原点处。
105.(2)几何编码(geometry encoding):几何编码中包含两种模式,可在不同条件下使用:
106.(a)基于八叉树的几何编码(octree):八叉树是一种树形数据结构,在3d空间划分中,对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。通过对八叉树各个子节点的占用与否采用
‘1’

‘0’
指示,获得占用码信息(occupancy code)作为点云几何信息的码流。
107.(b)基于三角表示的几何编码(trisoup):将点云划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。
108.(3)几何量化(geometry quantization):量化的精细程度通常由量化参数(qp)来决定,qp取值越大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
109.(4)几何熵编码(geometry entropy encoding):针对八叉树的占用码信息,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码(cabac,content adaptive binary arithmetic coding)。
110.对于属性信息编码,主要操作和处理如下:
111.(1)属性重上色(recoloring):有损编码情况下,在几何信息编码后,需编码端解码并重建几何信息,即恢复3d点云的各点坐标信息。在原始点云中寻找对应一个或多个邻近点的属性信息,作为该重建点的属性信息。
112.(2)属性预测编码(predition):属性预测编码时,通过对几何信息或属性信息的邻近关系,选择一个或多个点作为预测值,并求加权平均获得最终属性预测值,对真实值与预测值之间的差值进行编码。
113.(3)属性变换编码(transform):属性变换编码中包含三种模式,可在不同条件下使用。
114.(a)预测变换编码(predicting transform):根据距离选择子点集,将点云划分成多个不同的细节层(level of detail,lod),实现由粗糙到精细化的点云表示。相邻层之间可以实现自下而上的预测,即由粗糙层中的邻近点预测精细层中引入的点的属性信息,获得对应的残差信号。其中,最底层的点作为参考信息进行编码。
115.(b)提升变换编码(lifting transform):在lod相邻层预测的基础上,引入邻域点的权重更新策略,最终获得各点的预测属性值,获得对应的残差信号。
116.(c)分层区域自适应变换编码(region adaptive hierarchical transform,raht):属性信息经过raht变换,将信号转换到变换域中,称之为变换系数。
117.(4)属性信息量化(attribute quantization):量化的精细程度通常由量化参数(qp)来决定。在预测变换编码及提升变换编码中,是对残差值进行量化后进行熵编码;在raht中,是对变换系数进行量化后进行熵编码。
118.(5)属性熵编码(attribute entropy coding):量化后的属性残差信号或变换系数一般使用行程编码(run length coding)及算数编码(arithmetic coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
119.图3是本技术实施例提供的解码框架的示意性框图。
120.如图3所示,解码框架300可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
121.位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
122.属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
123.如图3所示,位置解码可通过以下单元实现:
124.熵解码单元301、八叉树重建单元302、逆坐标量化单元303以及逆坐标平移单元304。
125.属性编码可通过以下单元实现:
126.熵解码单元310、逆量化单元311、属性重建单元312以及逆空间变换单元313。
127.解压缩是压缩的逆过程,类似的,解码框架300中的各个单元的功能可参见编码框架200中相应的单元的功能。
128.在解码端,解码器获得压缩码流后,首先进行熵解码,获得各种模式信息及量化后的几何信息以及属性信息。首先,几何信息经过逆量化,得到重建的3d点位置信息。另一方面,属性信息经过逆量化得到残差信息,并根据采用的变换模式确认参考信号,得到重建的属性信息,按顺序与几何信息一一对应,产生输出的重建点云数据。
129.例如,解码框架300可根据点云中点与点之间的欧式距离将点云划分为多个lod;然后,依次对lod中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架300可基于解码出的残差值进行逆量化,并基于逆量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续lod中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。
130.由上述图2可知,点云编码器200从功能上主要包括了两部分:位置编码模块和属性编码模块,其中位置编码模块用于实现点云的位置信息的编码,形成几何码流,属性编码模块用于实现点云的属性信息的编码,形成属性码流,本技术主要涉及属性信息的编码。
131.需要说明的是,编码端属性信息编码时确定的预测、量化、编码、滤波等模式信息或者参数信息等在必要时携带在属性码流中。解码端通过解析属性码流及根据已有信息进行分析确定与编码端相同的预测、量化、编码、滤波等模式信息或者参数信息,从而保证编码端获得的属性信息的重建值和解码端获得的属性信息的重建值相同。
132.上述是基于g-pcc编解码框架下的点云编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本技术适用于该基于g-pcc编解码框架下的点云编解码器的基本流程,但不限于该框架及流程。
133.下面将对本技术技术方案进行详细阐述:
134.首先以解码端为例。
135.图4为本技术实施例提供的一实施例的点云属性的预测方法的流程图,该方法的执行主体是具有确定点云中点的预测值功能的装置,例如点云属性的预测装置,该点云属性的预测装置可以为上述所述的点云解码器或者为点云解码器中的一部分。如图4所示,本实施例包括:
136.s410、解码点云码流,得到点云中已解码的点。
137.需要说明的是,本实施例涉及点云的属性信息的解码过程,点云的属性信息解码是在点云的位置信息解码后执行的。其中点云的位置信息也称为点云的几何信息。
138.本技术实施例中,已解码的点可以理解为几何信息已解码的点和属性信息已解码的点。具体的,点云码流包括几何码流和属性码流,解码端首先对点云的几何码流进行解码,得到点云中点的几何信息的重建值。接收,对点云的属性码流进行解码,得到点云中点的属性信息的重建值,点云中点的几何信息和属性信息结合,得到解码后的点云。本技术实
施例涉及到点云属性码流的解码过程。
139.在对点云的属性码流的解码过程中,对点云中每个点的解码过程相同,以点云中待解码的当前点为例,在确定点云中当前点的属性信息时,需要获得点云中已解码的点,并从这些已解码的点中选择当前点的至少一个邻居点。根据当前点的至少一个邻居点的属性信息的重建值,得到当前点属性信息的预测值,再根据当前点属性信息的预测值和点云的属性码流中解析出当前点的属性信息的残差值,得到当前点的属性信息的重建值。
140.在上述确定当前点的至少一个邻居点时,首先需要确定邻居点参数,并根据邻居点参数,从已解码的点中选择当前点的至少一个邻居点。本技术实施例提出了一种新的确定邻居点参数的方式,具体如下s420所示。
141.s420、确定目标关联关系,目标关联关系包括预设的邻居点参数之间关联关系、以及预设的点云的空间参数与邻居点参数之间关联关系中的至少一个关联关系。
142.可选的,邻居点参数包括如下至少一个:当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,n、k均为正整数,d为正数。
143.可选的,点云的空间参数包括如下至少一个:点云精度、点云密度、点云的量化步长。
144.其中,点云精度指点云体素化后的数据表示精度(voxelized precision),或包围盒尺寸(bounding box size)。
145.点云密度指点云最小的点间距离表示。
146.点云的量化步长包括点云几何量化步长和点云属性量化步长。
147.需要说明的是,本技术实施例对预设的邻居点参数之间关联关系的具体形式不做限制。
148.示例性的,邻居点参数之间关联关系可以是加法关系,例如,备选点数量n与邻居点数量k的和等于第一预设和值;或者,备选点数量n、邻居点数量k与预设距离d三者的和等于第二预设和值;或者,备选点数量n与邻居点数量d的和等于第三预设和值;或者,邻居点数量k与预设距离d的和等于第四预设和值等。
149.示例性的,邻居点参数之间关联关系可以是减法关系,例如,备选点数量n与邻居点数量k的差等于第一预设差值;或者,备选点数量n与预设距离d的差等于第二预设差值;或者,邻居点数量k与预设距离d的差等于第三预设和值等。
150.示例性的,邻居点参数之间关联关系可以是乘法关系,例如,备选点数量n与邻居点数量k的乘积等于第一预积值;或者,备选点数量n与预设距离d的乘积等于第二预设积值;或者,邻居点数量k与预设距离d的乘积等于第三预设积值等。
151.示例性的,邻居点参数之间关联关系可以是比值关系,例如,备选点数量n与邻居点数量k的比值等于第一预比值;或者,当前点的备选点数量n与预设距离d的比值等于第二预设比值;或者,邻居点数量k与预设距离d的比值等于第三预设比值等。
152.需要说明的是,本技术实施例对预设的点云的空间参数与邻居点参数之间关联关系的具体形式不做限制。
153.示例性的,点云的空间参数与邻居点参数之间关联关系可以是倍数关系,例如备选点数量n是点云精度的倍数等于第一预设倍数;或者,邻居点数量k是点云精度的倍数等于第二预设倍数;或者,预设距离d是点云精度的倍数等于第三预设倍数;或者,备选点数量
n是点云密度的倍数等于第四预设倍数;或者,邻居点数量k是点云密度的倍数等于第五预设倍数;或者,预设距离d是点云密度的倍数等于第六预设倍数等。
154.示例性的,点云的空间参数与邻居点参数之间关联关系可以是幂次方关系,例如备选点数量n是点云精度的幂次方等于第一预设幂次方;或者,邻居点数量k是点云精度的幂次方等于第二预设幂次方;或者,预设距离d是点云精度的幂次方等于第三预设幂次方;或者,备选点数量n是点云密度的幂次方等于第四预设幂次方;或者,邻居点数量k是点云密度的幂次方等于第五预设幂次方;或者,预设距离d是点云密度的幂次方等于第六预设幂次方等。
155.本技术实施例中解码端确定目标关联关系的方式包括但不限于如下几种:
156.方式一,上述目标关联关系携带在点云码流中,解码端通过解码点云码流,得到目标关联关系。
157.方式二,上述目标关联关系是编解码事先预设的。
158.s430、根据目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数。
159.由上述可知,目标关联关系包括:预设的邻居点参数之间关联关系、以及预设的点云的空间参数与所述邻居点参数之间关联关系中的至少一个。也就是说,可以使用邻居点参数之间关联关系确定当前点的n、k、d,或者,使用点云的空间参数与所述邻居点参数之间关联关系确定当前点的n、k、d,或者,使用邻居点参数之间关联关系确定n、k、d的部分参数,使用点云的空间参数与所述邻居点参数之间关联关系确定n、k、d的另一部分参数
160.下面分别介绍目标关联关系为预设的邻居点参数之间关联关系,或者为预设的点云的空间参数与所述邻居点参数之间关联关系时,根据目标关联关系,得到邻居点参数的过程。
161.情况1,目标关联关系为预设的邻居点参数之间关联关系。
162.在一种可能的实现方式中,上述邻居点参数之间关联关系包括邻居参数中的基准参数与非基准参数之间的关联关系。
163.其中,基准参数可以理解为直接解码得到的邻居点参数,或者为预设的邻居点参数,非基准参数可以理解为通过关联关系推算出的邻居点参数。也就是说,基准参数是不通过计算可以得到邻居点参数,而非基准参数为通过计算得到的。
164.在一些实施例中,若目标关联关系包括邻居参数中的基准参数与非基准参数之间的关联关系,则上述s430包括s430-a1和s430-a2:
165.s430-a1、确定邻居点参数中的基准参数。
166.s430-a2、根据邻居点参数中的基准参数和邻居参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。
167.其中,上述s430-a1的实现方式包括但不限于如下几种:
168.方式一,编码端将邻居点参数中的基准参数携带在点云码流中,解码端通过解码点云码流,得到邻居点参数中的基准参数。
169.方式二,上述邻居点参数中的基准参数为预设的,例如基准参数为n,预设的n的值为10。
170.根据上述方式,得到邻居点参数中的基准参数后,执行s430-a2根据邻居参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。其中,上述
s430-a2的实现方式包括但不限如下几种方式:
171.方式一,若邻居点参数中的基准参数包括第一基准参数,则上述s430-a2包括:根据第一基准参数,以及第一基准参数与邻居点参数中的第一非基准参数和第二非基准参数之间的关联关系,确定第一非基准参数和第二非基准参数。
172.其中,第一基准参数为n、k、d中的任意一个,第一非基准参数和第二非基准参数为邻居点参数中除第一基准参数之外的参数。
173.示例1,第一基准参数为备选点数量n,则根据备选点数量n,以及预设距离d与备选点数量n的关联关系,计算得到预设距离d,根据备选点数量n和邻居点数量k与备选点数量n的关联关系,计算得到邻居点数量k。
174.其中,上述关联关系为预设的映射函数。
175.可选的,上述映射函数为比值,例如,根据备选点数量n,以及预设距离d与n之间的第一比值,计算得到预设距离d。根据备选点数量n,以及邻居点数量k与备选点数量n之间的第二比值,计算得到邻居点数量k。
176.示例2,第一基准参数为邻居点数量k,则根据邻居点数量k和预设距离d与邻居点数量k的关联关系,计算得到预设距离d,根据邻居点数量k和邻居点数量k与备选点数量n的关联关系,计算得到备选点数量n。
177.其中,上述关联关系为预设的映射函数。
178.可选的,上述映射函数为比值,例如,根据邻居点数量k,以及预设距离d与邻居点数量k之间的第三比值,计算得到预设距离d。根据邻居点数量k,以及邻居点数量k与备选点数量n之间的第四比值,计算得到备选点数量n。
179.示例3,第一基准参数为预设距离d,则根据预设距离d和预设距离d与邻居点数量k的关联关系,计算得到邻居点数量k,根据预设距离d和预设距离d与备选点数量n的关联关系,计算得到备选点数量n。
180.其中,上述关联关系为预设的映射函数。
181.可选的,上述映射函数为比值,例如,根据预设距离d,以及预设距离d与邻居点数量k之间的第五比值,计算得到邻居点数量k。根据预设距离d,以及预设距离d与备选点数量n之间的第六比值,计算得到备选点数量n。
182.方式二,若邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据第一基准参数与邻居点参数中的第三非基准参数之间的关联关系,或者根据第二基准参数与邻居点参数中的第三非基准参数之间的关联关系,确定第三非基准参数。
183.其中,第三非基准参数为n、k、d中的任意一个,第一基准参数和第二基准参数为邻居点参数中除第三非基准参数之外的参数。
184.示例1,第一基准参数为备选点数量n,第二基准参数为邻居点数量k,则根据备选点数量n,以及备选点数量n与预设距离d之间的关联关系,计算得到预设距离d,或者,根据邻居点数量k,以及邻居点数量k与预设距离d的关联关系,计算得到预设距离d。
185.其中,上述关联关系为预设的映射函数。
186.可选的,上述映射函数为比值,例如,根据备选点数量n,以及备选点数量n与预设距离d之间比值1,计算得到预设距离d,或者,根据邻居点数量k,以及邻居点数量k与预设距离d的比值2,计算得到预设距离d。
187.示例2,第一基准参数为备选点数量n,第二基准参数为预设距离d,则根据备选点数量n,以及备选点数量n与邻居点数量k之间的关联关系,计算得到邻居点数量k,或者,根据预设距离d,以及邻居点数量k与预设距离d的关联关系,计算得到邻居点数量k。
188.其中,上述关联关系为预设的映射函数。
189.可选的,上述映射函数为比值,例如,根据备选点数量n,以及备选点数量n与邻居点数量k之间的比值3,计算得到邻居点数量k,或者,根据预设距离d,以及邻居点数量k与预设距离d的比值4,计算得到邻居点数量k。
190.示例3,第一基准参数为邻居点数量k,第二基准参数为预设距离d,则根据邻居点数量k,以及备选点数量n与邻居点数量k之间的关联关系,计算得到备选点数量n,或者,根据预设距离d,以及备选点数量n与预设距离d的关联关系,计算得到备选点数量n。
191.其中,上述关联关系为预设的映射函数。
192.可选的,上述映射函数为比值,例如,根据邻居点数量k,以及备选点数量n与邻居点数量k之间的比值5,计算得到备选点数量n,或者,根据预设距离d,以及备选点数量n与预设距离d的比值6,计算得到备选点数量n。
193.方式三,根据备选点数量n、邻居点数量k和预设距离d三者之间的关联关系,确定备选点数量n、邻居点数量k和预设距离d。
194.上文对目标关联关系为预设的邻居点参数之间关联关系时,根据邻居点参数之间关联关系,得到当前点的邻居点参数的过程进行介绍。下面结合情况2对目标关联关系为预设的点云的空间参数与邻居点参数之间关联关系时,根据邻居点参数之间关联关系,得到当前点的邻居点参数的过程进行介绍。
195.情况2,目标关联关系为预设的点云的空间参数与邻居点参数之间关联关系。
196.其中,点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
197.在情况2中,上述s430的实现方式包括但不限于如下几种:
198.方式一,若点云的空间参数包括点云精度,则上述s430包括:根据点云精度与所述备选点数量n之间的关联关系,确定备选点数量n,例如,获取点云精度,并将点云精度的倍数或幂次方,确定为备选点数量n。
199.方式二,若点云的空间参数包括点云密度,则上述s430包括:根据点云密度与预设距离d之间的关联关系,确定所述预设距离d,例如,获取点云密度,并将点云密度的倍数,确定为预设距离d。
200.方式三,若点云的空间参数包括点云精度,则上述s430包括:根据所述点云精度与邻居点数量k之间的关联关系,确定邻居点数量k,例如,获取点云精度,并将点云精度的倍数,确定为邻居点数量k。
201.方式四,若点云的空间参数包括点云量化步长,则上述s430包括:根据点云量化步长与备选点数量n之间的关联关系,确定备选点数量n,例如,获取点云量化步长,并将点云量化步长的倍数,确定为备选点数量n。
202.需要说明的是,上述方式一至方式四中所述的关联关系可以是预设的函数关系、预设的运算关系、预设的映射关系中的一个或其任意组合,本技术实施例对此不做限制。
203.在一些实施例中,上述点云密度、点云精度、点云量化步长等点云的空间信息的获取方式包括但不限于如下几种方式:
204.方式一,编码端将点云的空间参数携带在点云码流中,解码端通过解析点云码流,得到点云的空间参数。
205.方式二,解析点云码流,得到点云中点的几何信息,并根据点云中点的几何信息,确定云的空间参数。例如,根据点云中点的几何信息,得到点云密度,或者根据点云中点的几何信息,得到点云中最小的点间的距离,将该最小距离确定为点云密度。
206.根据上述方式确定出当前点的邻居点参数后,执行s440。
207.s440、根据当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从已解码的点中,选择当前点的至少一个邻居点。
208.在一些实施例中,根据当前点的备选点数量n、邻居点数量k或者预设距离d,从已解码的点中,选择当前点的至少一个邻居点。例如,从已解码的点中,选择k个点作为当前点的邻居点。或者,从已解码的点中,选择与当前点的距离小于预设距离d的点,作为当前点的邻居点。或者,从已解码的点中,选择n个备选点,从这n个备选点中选择与当前点的距离小于预设距离阈值的点,作为当前点的邻居点。
209.举例说明,当前点的属性信息包括颜色属性和/或反射率属性,在编码当前点的不同属性信息时,确定当前点的邻居点的方式可以不同。
210.示例一,若当前点的属性信息为反射率信息,则确定当前点的邻居点的方式包括但不限于如下几种方式:
211.方式一,对当前点的反射率属性进行预测时,可以采用莫顿序来选取当前点的邻居点,具体是:
212.获取点云数据中所有点云的坐标,并按照莫顿排序得到莫顿顺序1,如图5a所示。
213.接着,把所有点云的坐标(x,y,z)加上一个固定值(j1,j2,j3),用新的坐标(x j1,y j2,z j3)生成点云对应的莫顿码,按照莫顿排序得到莫顿顺序2,如图5b所示。注意在图5a中的a,b,c,d移到图5b中的不同位置,对应的莫顿码也发生了变化,但它们的相对位置保持不变。另外,在图5b中,点d的莫顿码是23,它的邻居点b的莫顿码是21,所以从点d向前最多搜索两个点就可以找到点b。但在图5a中,从点d(莫顿码16)最多需要向前搜索14个点才能找到点b(莫顿码2)。
214.根据莫顿顺序编码,查找当前点的最近预测点,在莫顿顺序1中选取该当前点的前n1个已解码点作为当前点的n1个邻居点,n1取值范围是大于等于1,在莫顿顺序2中选取当前点的前n2个点已解码点作为当前点的n2个邻居点,n2的取值范围是大于等于1,进而获得当前点的n1 n2个邻居点,其中n1 n2=n。
215.可选的,在pcem软件中,上述j1=j2=j3=42。
216.方式二,计算在hilbert(希尔伯特)顺序下当前点的前maxnumofneighbours(最大数量个邻居点)个已解码点,将maxnumofneighbours个已解码点作为当前点的邻居点。
217.可选的,maxnumofneighbours默认取值为n。
218.示例二,若当前点的属性信息为颜色信息,则确定当前点的邻居点的方式包括:
219.当前点的邻居点的空间关系如图5c所示,其中实线框表示当前点,假设邻居点的查找范围为当前点的3x3x3邻域。首先利用当前点的莫顿码得到该3x3x3邻域中莫顿码值最小的块,将该块作为基准块,利用基准块来查找与当前点共面、共线的已解码邻居点。该邻域范围内与当前点共面的邻居点之间的莫顿码关系如图5d所示,与当前点共线的邻居点之
间的莫顿码关系如下图5e所示。
220.利用基准块来搜索与当前点共面、共线的已解码的n个邻居点。
221.在一些实施例中,上述s440包括s440-a1和s440-a2:
222.s440-a1、从点云中已解码的点中,选择当前点的n个备选点。
223.s440-a2、根据邻居点数量k和预设距离d中的至少一个,从n个备选点中,选择当前点的至少一个邻居点。
224.其中,上述s440-a1从点云中已解码的点中,选择当前点的n个备选点的方式包括但不限于如下几种方式:
225.方式一,按照莫顿排序,或者希尔伯特序,或者编码顺序对已解码的点进行排序,从排序后的已解码的点中选择前序的n个点。可选的,上述n个点可以为连续的点,例如选择序号为i-1,i-2,

,i-n 1的点作为备选点。可选的,上述n个可以是不连续的点,例如n个点为等间隔的点。
226.方式二,按照莫顿排序,或者希尔伯特序,或者编码顺序对已解码的点进行排序,从排序后的已解码的点中选择连续的n个点,例如,跳过前序n1个点,即选择序号为i-n1 1,i-n1 2,

,i-n1-n 1的点。
227.根据上述方式选择出当前点的n个备选点后,执行s440-a2。
228.在一些实施例中,上述s440-a2根据邻居点数量k和预设距离d中的至少一个,从n个备选点中,选择当前点的至少一个邻居点的方式包括s440-a21:
229.s440-a21、从n个备选点中,选择满足目标条件的至少一个备选点作为当前点的至少一个邻居点,其中目标条件包括如下条件1至条件4中的至少一个条件:
230.条件1,将n个备选点中与当前点在各个维度上的距离均小于第一预设距离的备选点确定为当前点的邻居点。
231.其中,备选点中与当前点在各个维度上的距离可以理解为备选点中与当前点在x、y、z这三个维度上每个一个维度上、每两个维度上以及3个维度上的距离。举例说明,假设当前点的坐标为(x1,y1,z1),备选点的坐标为(x2,y2,z2),当前点在备选点各维度上的曼哈顿距离包括:dx=∣x1-x2∣,dy=∣y1-y2∣,dz=∣z1-z2∣,dxy=∣x1-x2∣ ∣y1-y2∣,dxz=∣x1-x2∣ ∣z1-z2∣,dyz=∣z1-z2∣ ∣y1-y2∣,dxyz=∣x1-x2∣ ∣y1-y2∣ ∣z1-z2∣。需要说明的是,上述以曼哈顿距离为例,可选的,还可以基于欧式(euclidean)距离等其他计算距离的方法确定备选点中与当前点在各个维度上的距离。
232.条件2,将n个备选点中与当前点在各个维度上的距离均等于第二预设距离的备选点确定为当前点的邻居点。
233.条件3,将n个备选点中距离当前点最近的k个备选点确定为当前点的邻居点。
234.条件4,按预设顺序,将n个备选点的前k个备选点确定为当前点的邻居点。其中,预设顺序可以是莫顿顺序,或者希尔伯特顺序,或者编码顺序,或者输入顺序等。
235.本步骤中,上述条件1至条件4单独使用或在一定条件下组合使用,例如,先根据条件1和条件2选择邻居点,若未有满足条件1和条件2条件的邻居点,则采用条件3和条件3选择邻居点。或先根据条件1和条件2选择邻居点,若选择的邻居点多于k个,再根据条件4从上述条件1和条件2选出的多个邻居点中选出的k个点作为邻居点。
236.根据上述s440的步骤,得到当前点的至少一个邻居点,接着,执行如下s450。
237.s450、根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。
238.在一些实施例中,将至少一个邻居点的属性信息的平均值,确定当前点的属性信息的预测值。
239.在一些实施例中,将至少一个邻居点的属性信息的加权平均值,确定当前点的属性信息的预测值。在该方式中,上述s450包括:
240.s450-a1、确定当前点的至少一个邻居点中每个邻居点的属性权重。
241.s450-a2、根据当前点的至少一个邻居点的属性信息和属性权重,确定当前点的属性信息的预测值。
242.上述s450-a1中确定当前点的至少一个邻居点中每个邻居点的属性权重的方式包括但不限于如下几种方式:
243.方式一,根据邻居点与当前点的距离,计算各个点的权重值,例如以距离的倒数作为邻居点的属性权重。可选的,上述距离可以是曼哈顿距离,也可以是欧式距离。
244.例如,根据如下公式(1),确定邻居点的属性权重:
[0245][0246]
其中,w
ij
为当前点i的第j个邻居点的属性权重,(xi,yi,zi)为当前点的几何信息,(xij,yij,zij)为第j个邻居点的几何信息。
[0247]
例如,根据如下公式(2),确定邻居点的属性权重:
[0248][0249]
其中,a为当前点的第一分量的权重系数,b为当前点的第二分量的权重系数,c为当前点的第三分量的权重系数。可选的,该a、b、c可以查表获得,或者为预设的固定值。
[0250]
方式二,从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重。
[0251]
在该方式二的一种示例中,若至少一个预设权重包括一个预设权重,则确定至少一个邻居点中每个邻居点的属性权重均为该预设权重。
[0252]
在该方式二的一种示例中,若至少一个预设权重包括多个预设权重,则针对至少一个邻居点中的每个邻居点,根据该邻居点与当前点的几何信息,确定该邻居点与当前点之间的第一距离,并根据该邻居点与当前点之间的第一距离,从多个预设权重中确定邻居点的属性权重。
[0253]
可选的,第一预设权重与第二预设权重之间的权重间隔等于预设间隔。
[0254]
例如,当前点与至少一个邻居点之间的距离分别为d1,d2,

,dk(d1≤d2≤

≤dk)。设置权重初始值η,权重间隔δ,p个离散的权重值为[η,η δ,η 2*δ,

,η (p-1)*δ]。若,η≤dj<η δ,则邻居点j对应的属性权重为η。
[0255]
在该方式二的一种示例中,若第一距离小于或等于第一阈值,则确定邻居点的属性权重为多个预设权重中的第三预设权重,若第一距离大于第一阈值,则确定邻居点的属性权重为多个预设权重中的第四预设权重,其中第三预设权重小于第四预设权重。
[0256]
在一种可能的实现方式中,根据d1,d2,

,dk的分布选择一个或多个距离值来计算权重值。例如,上述第一阈值为当前点的至少一个邻居点中每个邻居点与当前点之间的距离的中位值,即以d1,d2,

,dk的中位点为第一阈值,若邻居点与当前点之间的距离小于或等于该第一阈值,则确定该邻居点的属性权重为第三预设权重,例如1。若邻居点与当前点之间的距离大于该第一阈值,确定该邻居点的属性权重为第四预设权重,例如2。
[0257]
在一种可能的实现方式中,根据距离值分布及几何参数计算权重值。例如,第一阈值为点云精度的倍数,若该邻居点与当前点之间的第一距离小于或等于点云精度的倍数,则确定该邻居点的权重为第三预设权重,例如为1。若该邻居点与当前点之间的第一距离小于或等于点云精度的倍数,则确定该邻居点的权重为第四预设权重,例如为2。
[0258]
在一种可能的实现方式中,若多个预设权重的个数与至少一个邻居点的个数相同,则根据当前点与邻居点之间的第一距离大小对至少一个邻居点进行排序,根据多个预设权重的大小对多个预设权重进行排序,将排序后的预设权重一一确定为排序后的至少一个邻居点的属性权重。例如,排序后的预设权重从大到小排列为:a1、a2、a3,至少一个邻居点根据第一距离的大小从大到小排序为:a2、a1、a3,这样,则确定邻居点a2的属性权重为a1,确定邻居点a1的属性权重为a2,确定邻居点a3的属性权重为a3。
[0259]
在一种可能的实现方式中,若多个预设权重的个数与至少一个邻居点的个数不相同,针对至少一个邻居点中的每个邻居点,将多个预设权重中与该邻居点对应的第一距离的倒数最近的预设权重,确定为该邻居点的属性权重。
[0260]
根据上述各方式,确定出当前点的至少一个邻居点中每一个邻居点的属性权重。接着,根据每个邻居点的属性权重以及属性信息,确定当前点的属性信息的预测值。例如,根据每个邻居点的属性权重,将当前点的至少一个邻居点的属性权重的属性信息的加权值,确定为当前点的属性信息的预测值。
[0261]
需要说明的是,上述所述的当前点的邻居点的属性信息指邻居点的重建后的属性信息。
[0262]
在一些实施例中,本技术实施例还包括其他的点云属性信息的解码过程。例如,解码点云码流,得到当前点量化后的属性信息的残差值,接着,对当前点量化后的属性信息的残差值进行反量化,得到当前点的属性信息的残差值。接着,根据当前点的属性信息的残差值和上述步骤得到的当前点的属性信息的预测值,得到当前点的属性信息的重建值,例如当前点的属性信息的残差值和上述步骤得到的当前点的属性信息的预测值的和,作为当前点的属性信息的重建值。
[0263]
本技术实施例提供的点云属性的预测方法,通过解码点云码流,得到点云中已解码的点;确定目标关联关系,目标关联关系包括预设的邻居点参数之间关联关系、以及预设的点云的空间参数与邻居点参数之间关联关系中的至少一个关联关系;根据目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,邻居点参数包括当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个;根据当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从已解码的点中,选择当前点的至少一个邻居点;根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。即本技术通过目标关联关系,确定邻居点参数,相比于直接预设邻居点参数的方式,丰富了确定点云属性预测值的方式。另外,相比现有的根据经验
设定邻居点参数,本技术实施例根据上述目标关联关系确定邻居点参数,可以提高邻居点参数确定的准确性,基于准确确定的邻居点参数,可以准确确定出当前点的属性信息的预测值,进而提高了解码的解码效率。
[0264]
上文结合图4对解码端的点云属性的预测方法进行了介绍,下面结合图6,以编码端为例,对本技术的技术方案进行介绍。
[0265]
图6为本技术实施例提供的一实施例的点云属性的预测方法的流程图,该方法的执行主体是具有确定点云中点的预测值功能的装置,例如点云属性的预测装置,该点云属性的预测装置可以为上述所述的点云编码器或者为点云编码器中的一部分。如图6所示,本实施例包括:
[0266]
s610、获得点云中已编码的点。
[0267]
s620、确定目标关联关系,目标关联关系包括预设的邻居点参数之间关联关系、以及预设的点云的空间参数与邻居点参数之间关联关系中的至少一个关联关系。
[0268]
在一些实施例中,编码端还将目标关联关系携带在点云码流中,使得解码端从点云码流中解析出目标关联关系。
[0269]
s630、根据目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数。
[0270]
其中,邻居点参数包括当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,n、k均为正整数,d为正数。
[0271]
情况1中,邻居点参数之间关联关系包括邻居参数中的基准参数与非基准参数之间的关联关系。
[0272]
在一些实施例中,若目标关联关系包括邻居参数中的基准参数与非基准参数之间的关联关系,则上述s630包括:
[0273]
s630-a1、确定邻居点参数中的基准参数。可选的,上述基准参数为预设的。
[0274]
s630-a2、根据邻居点参数中的基准参数和邻居参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。
[0275]
上述s630-a2的实现方式包括但不限于如下几种:
[0276]
方式一,若邻居点参数中的基准参数包括第一基准参数,则根据第一基准参数,以及第一基准参数与邻居点参数中的第一非基准参数和第二非基准参数之间的关联关系,确定第一非基准参数和第二非基准参数,其中,第一基准参数为n、k、d中的任意一个,第一非基准参数和第二非基准参数为邻居点参数中除第一基准参数之外的参数。
[0277]
方式二,若邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据第一基准参数与邻居点参数中的第三非基准参数之间的关联关系,或者根据第二基准参数与邻居点参数中的第三非基准参数之间的关联关系,确定第三非基准参数,其中,第三非基准参数为n、k、d中的任意一个,第一基准参数和第二基准参数为邻居点参数中除第三非基准参数之外的参数。
[0278]
在一些实施例中,编码端还将邻居点参数中的基准参数携带在点云码流中,使得解码端从点云码流中得到基准参数。
[0279]
情况2中,目标关联关系包括点云的空间参数与邻居点参数之间关联关系。
[0280]
其中,点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
[0281]
在情况2中,上述s630包括但不限于如下几种方式:
[0282]
方式一,若点云的空间参数包括点云精度,则s630包括根据点云精度与所述备选点数量n之间的关联关系,确定备选点数量n,例如,获取点云精度,并将点云精度的倍数或幂次方,确定为备选点数量n。
[0283]
方式二,若点云的空间参数包括点云密度,则s630包括根据点云密度与预设距离d之间的关联关系,确定所述预设距离d,例如,获取点云密度,并将点云密度的倍数,确定为预设距离d。
[0284]
方式三,若点云的空间参数包括点云精度,则s630包括根据所述点云精度与邻居点数量k之间的关联关系,确定邻居点数量k,例如,获取点云精度,并将点云精度的倍数,确定为邻居点数量k。
[0285]
方式四,若点云的空间参数包括点云量化步长,则s630包括:根据点云量化步长与备选点数量n之间的关联关系,确定备选点数量n,例如,获取点云量化步长,并将点云量化步长的倍数,确定为备选点数量n。
[0286]
需要说明的是,上述方式一至方式四中所述的关联关系可以是预设的函数关系、预设的运算关系、预设的映射关系中的一个或其任意组合,本技术实施例对此不做限制。
[0287]
在该情况2中,编码端在执行上述各方式的技术时,需要获得点云中点的几何信息;根据点云中点的几何信息,确定点云的空间参数,其中点云的空间参数包括点云精度、点云密度、点云量化步长中的至少一个。
[0288]
在一些实施例中,编码端还将上述确定的点云的空间参数携带在点云码流中,使得解码端从点云码流中解析出点云的空间参数。
[0289]
s640、根据当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从已编码的点中,选择当前点的至少一个邻居点。
[0290]
在一些实施例中,上述s640包括:
[0291]
s640-a1、从点云中已编码的点中,选择当前点的n个备选点。
[0292]
s640-a2、根据邻居点数量k和预设距离d中的至少一个,从n个备选点中,选择当前点的至少一个邻居点。
[0293]
在一些实施例中,上述s640-a2包括:从n个备选点中,选择满足目标条件的至少一个备选点作为当前点的至少一个邻居点,其中目标条件包括如下至少一个条件:
[0294]
条件1,将n个备选点中与当前点在各个维度上的距离均小于第一预设距离的备选点确定为当前点的邻居点;
[0295]
条件2,将n个备选点中与当前点在各个维度上的距离均等于第二预设距离的备选点确定为当前点的邻居点;
[0296]
条件3,将n个备选点中距离当前点最近的k个备选点确定为当前点的邻居点;
[0297]
条件4,按预设顺序,将n个备选点的前k个备选点确定为当前点的邻居点。
[0298]
s650、根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。
[0299]
在一些实施例中,上述s650包括如下步骤:
[0300]
s650-a1、确定当前点的至少一个邻居点中每个邻居点的属性权重。
[0301]
s650-a2、根据当前点的至少一个邻居点的属性信息和属性权重,确定当前点的属性信息的预测值。
[0302]
在一些实施例中,上述s650-a1的实现方式包括但不限于如下几种:
[0303]
在一种实现方式中,从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重。
[0304]
在一些实施例中,若至少一个预设权重包括一个预设权重,则上述从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重包括:确定k个邻居点中每个邻居点的属性权重均为预设权重。
[0305]
在一些实施例中,若至少一个预设权重包括多个预设权重,上述从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重,包括:
[0306]
s650-a11、针对k个邻居点中的每个邻居点,根据邻居点与当前点的几何信息,确定邻居点与当前点之间的第一距离;
[0307]
s650-a12、根据邻居点与当前点之间的第一距离,从多个预设权重中确定邻居点的属性权重。
[0308]
在一些实施例中,上述s650-a12的实现方式包括但不限于如下几种:
[0309]
方式一,若第一距离大于或等于多个预设权重中的第一预设权重,且第一距离小于多个预设权重中的第二预设权重,则确定邻居点的属性权重为第一预设权重,第二预设权重为多个预设权重中与第一预设权重距离最小的预设权重。
[0310]
方式二,若第一距离小于或等于第一阈值,则确定邻居点的属性权重为多个预设权重中的第三预设权重,若第一距离大于第一阈值,则确定邻居点的属性权重为多个预设权重中的第四预设权重,其中第三预设权重小于第四预设权重。
[0311]
方式三,若多个预设权重的个数与至少一个邻居点的个数相同,则根据当前点与邻居点之间的第一距离大小对至少一个邻居点进行排序,根据多个预设权重的大小对多个预设权重进行排序,将排序后的预设权重一一确定为排序后的至少一个邻居点的属性权重。
[0312]
方式四,若多个预设权重的个数与至少一个邻居点的个数不相同,针对至少一个邻居点中的每个邻居点,将多个预设权重中与邻居点对应的第一距离的倒数最近的预设权重,确定为邻居点的属性权重。
[0313]
可选的,第一预设权重与第二预设权重之间的权重间隔等于预设间隔。
[0314]
可选的,第一阈值为当前点的至少一个邻居点中每个邻居点与当前点之间的距离的中位值。
[0315]
可选的,第一阈值为点云精度的倍数。
[0316]
需要说明的是,上述s610和s650的具体实现过程可以参照上述s410和s450的具体描述,在此不再赘述。
[0317]
应理解,编码端中点云属性的预测方法为上述解码端中点云属性的预测方法的逆过程。上述编码端中点云属性的预测方法中的步骤可以参考解码端中点云属性的预测方法中的相应步骤,为了避免重复,在此不再赘述。
[0318]
以上结合附图详细描述了本技术的优选实施方式,但是,本技术并不限于上述实施方式中的具体细节,在本技术的技术构思范围内,可以对本技术的技术方案进行多种简单变型,这些简单变型均属于本技术的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要
的重复,本技术对各种可能的组合方式不再另行说明。又例如,本技术的各种不同的实施方式之间也可以进行任意组合,只要其不违背本技术的思想,其同样应当视为本技术所公开的内容。
[0319]
还应理解,在本技术的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0320]
上文结合图4至图6,详细描述了本技术的方法实施例,下文结合图7至图9,详细描述本技术的装置实施例。
[0321]
图7是本技术实施例的一点云属性的预测装置的示意性框图。该装置10可以为解码设备,也可以为解码设备中的一部分。
[0322]
如图7所示,点云属性的预测装置10可包括:
[0323]
解码单元11,用于解码点云码流,得到点云中已解码的点;
[0324]
条件确定单元12,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
[0325]
参数确定单元13,用于根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
[0326]
选择单元14,用于根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已解码的点中,选择所述当前点的至少一个邻居点;
[0327]
预测单元15,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
[0328]
在一些实施例中,所述邻居点参数之间关联关系包括所述邻居参数中的基准参数与非基准参数之间的关联关系。
[0329]
在一些实施例中,若所述目标关联关系包括所述邻居参数中的基准参数与非基准参数之间的关联关系,则参数确定单元13,具体用于确定所述邻居点参数中的基准参数;根据所述邻居点参数中的基准参数和所述邻居参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数。
[0330]
在一些实施例中,参数确定单元13,具体用于若所述邻居点参数中的基准参数包括第一基准参数,则根据所述第一基准参数,以及所述第一基准参数与所述邻居点参数中的第一非基准参数和第二非基准参数之间的关联关系,确定所述第一非基准参数和第二非基准参数,其中,所述第一基准参数为所述n、k、d中的任意一个,所述第一非基准参数和第二非基准参数为所述邻居点参数中除所述第一基准参数之外的参数;或者,
[0331]
若所述邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据所述第一基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,或者根据第二基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,确定所述第三非基准参数,其中,所述第三非基准参数为所述n、k、d中的任意一个,所述第一基准参数和第二基准参数
为所述邻居点参数中除所述第三非基准参数之外的参数。
[0332]
在一些实施例中,解码单元11,还用于解码所述点云码流,得到所述邻居点参数中的基准参数。
[0333]
可选的,所述点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
[0334]
在一些实施例中,若所述目标关联关系包括所述点云的空间参数与所述邻居点参数之间关联关系,则参数确定单元13,具体用于根据所述点云精度与所述备选点数量n之间的关联关系,确定所述备选点数量n;或者,根据所述点云量化步长与所述备选点数量n之间的关联关系,确定所述备选点数量n;或者,根据所述点云密度与所述预设距离d之间的关联关系,确定所述预设距离d;或者,根据所述点云精度与所述邻居点数量k之间的关联关系,确定所述邻居点数量k。
[0335]
在一些实施例中,解码单元11,还用于解析所述点云码流,得到所述点云的空间参数;或者,解析所述点云码流,得到所述点云中点的几何信息,并根据所述点云中点的几何信息,确定所述点云的空间参数。
[0336]
在一些实施例中,预测单元15,具体用于确定所述当前点的至少一个邻居点中每个邻居点的属性权重;根据所述当前点的至少一个邻居点的属性信息和属性权重,确定所述当前点的属性信息的预测值。
[0337]
在一些实施例中,预测单元15,具体用于从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重。
[0338]
在一些实施例中,预测单元15,具体用于若所述至少一个预设权重包括一个预设权重,则确定所述至少一个邻居点中每个邻居点的属性权重均为所述预设权重;或者,若所述至少一个预设权重包括多个预设权重,则针对所述至少一个邻居点中的每个邻居点,根据所述邻居点与所述当前点的几何信息,确定所述邻居点与所述当前点之间的第一距离,并根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重。
[0339]
在一些实施例中,预测单元15,具体用于若所述第一距离大于或等于所述多个预设权重中的第一预设权重,且所述第一距离小于所述多个预设权重中的第二预设权重,则确定所述邻居点的属性权重为所述第一预设权重,所述第二预设权重为所述多个预设权重中与所述第一预设权重距离最小的预设权重;或者,
[0340]
若所述第一距离小于或等于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第三预设权重,若所述第一距离大于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第四预设权重,其中所述第三预设权重小于所述第四预设权重;或者,
[0341]
若所述多个预设权重的个数与所述至少一个邻居点的个数相同,则根据所述当前点与邻居点之间的第一距离大小对所述至少一个邻居点进行排序,根据所述多个预设权重的大小对所述多个预设权重进行排序,将排序后的预设权重一一确定为排序后的所述至少一个邻居点的属性权重;或者,
[0342]
若所述多个预设权重的个数与所述至少一个邻居点的个数不相同,针对所述至少一个邻居点中的每个邻居点,将所述多个预设权重中与所述邻居点对应的第一距离的倒数
最近的预设权重,确定为所述邻居点的属性权重。
[0343]
可选的,所述第一预设权重与所述第二预设权重之间的权重间隔等于预设间隔。
[0344]
可选的,所述第一阈值为所述至少一个邻居点中每个邻居点与所述当前点之间的距离的中位值;或者,所述第一阈值为所述点云精度的倍数。
[0345]
在一些实施例中,选择单元14,具体用于从所述点云中已解码的点中,选择所述当前点的n个备选点;根据所述邻居点数量k和所述预设距离d中的至少一个,从所述n个备选点中,选择所述当前点的至少一个邻居点。
[0346]
在一些实施例中,选择单元14,具体用于从所述n个备选点中,选择满足目标条件的至少一个备选点作为所述当前点的至少一个邻居点,其中所述目标条件包括如下至少一个条件:
[0347]
条件1,将所述n个备选点中与所述当前点在各个维度上的距离均小于第一预设距离的备选点确定为所述当前点的邻居点;
[0348]
条件2,将所述n个备选点中与所述当前点在各个维度上的距离均等于第二预设距离的备选点确定为所述当前点的邻居点;
[0349]
条件3,将所述n个备选点中距离所述当前点最近的k个备选点确定为所述当前点的邻居点;
[0350]
条件4,按预设顺序,将所述n个备选点的前k个备选点确定为所述当前点的邻居点。
[0351]
在一些实施例中,解码单元11,还用于解码点云码流,得到所述目标关联关系。
[0352]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置可以执行上述图4所示方法的实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现解码器对应的方法实施例,为了简洁,在此不再赘述。
[0353]
图8是本技术实施例的一点云属性的预测装置的示意性框图。该装置20可以为编码设备,也可以为编码设备中的一部分。
[0354]
如图8所示,点云属性的预测装置20可包括:
[0355]
获取单元21,用于获得点云中已编码的点;
[0356]
条件确定单元22,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间关联关系中的至少一个关联关系;
[0357]
参数确定单元23,用于根据所述目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量n、邻居点数量k、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述n、k均为正整数,所述d为正数;
[0358]
选择单元24,用于根据所述当前点的备选点数量n、邻居点数量k、以及邻居点与当前点之间的预设距离d中的至少一个,从所述已编码的点中,选择所述当前点的至少一个邻居点;
[0359]
预测单元25,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
[0360]
在一些实施例中,所述邻居点参数之间关联关系包括所述邻居参数中的基准参数与非基准参数之间的关联关系。
[0361]
在一些实施例中,若所述目标关联关系包括所述邻居参数中的基准参数与非基准参数之间的关联关系,则参数确定单元23,具体用于确定所述邻居点参数中的基准参数;根据所述邻居点参数中的基准参数和所述邻居参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数。
[0362]
在一些实施例中,参数确定单元23,具体用于若所述邻居点参数中的基准参数包括第一基准参数,则根据所述第一基准参数,以及所述第一基准参数与所述邻居点参数中的第一非基准参数和第二非基准参数之间的关联关系,确定所述第一非基准参数和第二非基准参数,其中,所述第一基准参数为所述n、k、d中的任意一个,所述第一非基准参数和第二非基准参数为所述邻居点参数中除所述第一基准参数之外的参数;或者,
[0363]
若所述邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据所述第一基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,或者根据第二基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,确定所述第三非基准参数,其中,所述第三非基准参数为所述n、k、d中的任意一个,所述第一基准参数和第二基准参数为所述邻居点参数中除所述第三非基准参数之外的参数。
[0364]
在一些实施例中,上述装置还包括编码单元26,编码单元26用于将所述邻居点参数中的基准参数携带在点云码流中。
[0365]
可选的,所述点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
[0366]
在一些实施例中,若所述目标关联关系包括所述点云的空间参数与所述邻居点参数之间关联关系,则参数确定单元23,具体用于根据所述点云精度与所述备选点数量n之间的关联关系,确定所述备选点数量n;或者,根据所述点云量化步长与所述备选点数量n之间的关联关系,确定所述备选点数量n;或者,根据所述点云密度与所述预设距离d之间的关联关系,确定所述预设距离d;或者,根据所述点云精度与所述邻居点数量k之间的关联关系,确定所述邻居点数量k。
[0367]
在一些实施例中,获取单元21,还用于获得所述点云中点的几何信息;根据所述点云中点的几何信息,确定所述点云的空间参数,其中所述点云的空间参数包括所述点云精度和所述点云密度中的至少一个。
[0368]
在一些实施例中,编码单元26,还用于将所述点云的空间参数携带在点云码流中。
[0369]
在一些实施例中,预测单元25,具体用于确定所述当前点的至少一个邻居点中每个邻居点的属性权重;根据所述当前点的至少一个邻居点的属性信息和属性权重,确定所述当前点的属性信息的预测值。
[0370]
在一些实施例中,预测单元25,具体用于从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重。
[0371]
在一些实施例中,预测单元25,具体用于若所述至少一个预设权重包括一个预设权重,则确定所述至少一个邻居点中每个邻居点的属性权重均为所述预设权重;或者,
[0372]
若所述至少一个预设权重包括多个预设权重,则针对所述至少一个邻居点中的每个邻居点,根据所述邻居点与所述当前点的几何信息,确定所述邻居点与所述当前点之间
的第一距离,并根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重。
[0373]
在一些实施例中,预测单元25,具体用于若所述第一距离大于或等于所述多个预设权重中的第一预设权重,且所述第一距离小于所述多个预设权重中的第二预设权重,则确定所述邻居点的属性权重为所述第一预设权重,所述第二预设权重为所述多个预设权重中与所述第一预设权重距离最小的预设权重;或者,
[0374]
若所述第一距离小于或等于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第三预设权重,若所述第一距离大于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第四预设权重,其中所述第三预设权重小于所述第四预设权重;或者,
[0375]
若所述多个预设权重的个数与所述至少一个邻居点的个数相同,则根据所述当前点与邻居点之间的第一距离大小对所述至少一个邻居点进行排序,根据所述多个预设权重的大小对所述多个预设权重进行排序,将排序后的预设权重一一确定为排序后的所述至少一个邻居点的属性权重;或者,
[0376]
若所述多个预设权重的个数与所述至少一个邻居点的个数不相同,针对所述至少一个邻居点中的每个邻居点,将所述多个预设权重中与所述邻居点对应的第一距离的倒数最近的预设权重,确定为所述邻居点的属性权重。
[0377]
可选的,所述第一预设权重与所述第二预设权重之间的权重间隔等于预设间隔。
[0378]
可选的,所述第一阈值为所述至少一个邻居点中每个邻居点与所述当前点之间的距离的中位值;或者,所述第一阈值为所述点云精度的倍数。
[0379]
在一些实施例中,选择单元24,具体用于从所述点云中已编码的点中,选择所述当前点的n个备选点;根据所述邻居点数量k和所述预设距离d中的至少一个,从所述n个备选点中,选择所述当前点的至少一个邻居点。
[0380]
在一些实施例中,选择单元24,具体用于从所述n个备选点中,选择满足目标条件的至少一个备选点作为所述当前点的至少一个邻居点,其中所述目标条件包括如下至少一个条件:
[0381]
条件1,将所述n个备选点中与所述当前点在各个维度上的距离均小于第一预设距离的备选点确定为所述当前点的邻居点;
[0382]
条件2,将所述n个备选点中与所述当前点在各个维度上的距离均等于第二预设距离的备选点确定为所述当前点的邻居点;
[0383]
条件3,将所述n个备选点中距离所述当前点最近的k个备选点确定为所述当前点的邻居点;
[0384]
条件4,按预设顺序,将所述n个备选点的前k个备选点确定为所述当前点的邻居点。
[0385]
在一些实施例中,编码单元26,还用于在点云码流中携带所述目标关联关系
[0386]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置可以执行上述图6所示方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现编码器对应的方法实施例,为了简洁,在此不再赘述。
[0387]
上文中结合附图从功能模块的角度描述了本技术实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本技术实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本技术实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0388]
图9是本技术实施例提供的电子设备的示意性框图,图9的电子设备可以为上述的点云编码器或者为点云解码器。
[0389]
如图9所示,该电子设备30可包括:
[0390]
存储器31和处理器32,该存储器31用于存储计算机程序33,并将该程序代码33传输给该处理器32。换言之,该处理器32可以从存储器31中调用并运行计算机程序33,以实现本技术实施例中的方法。
[0391]
例如,该处理器32可用于根据该计算机程序33中的指令执行上述方法200中的步骤。
[0392]
在本技术的一些实施例中,该处理器32可以包括但不限于:
[0393]
通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
[0394]
在本技术的一些实施例中,该存储器31包括但不限于:
[0395]
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0396]
在本技术的一些实施例中,该计算机程序33可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器31中,并由该处理器32执行,以完成本技术提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序33在该电子设备30中的执行过程。
[0397]
如图9所示,该电子设备30还可包括:
[0398]
收发器34,该收发器34可连接至该处理器32或存储器31。
[0399]
其中,处理器32可以控制该收发器34与其他设备进行通信,具体地,可以向其他设
备发送信息或数据,或接收其他设备发送的信息或数据。收发器34可以包括发射机和接收机。收发器34还可以进一步包括天线,天线的数量可以为一个或多个。
[0400]
应当理解,该电子设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
[0401]
根据本技术的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本技术实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
[0402]
根据本技术的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
[0403]
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0404]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0405]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0406]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模
块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0407]
以上该,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以该权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献