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

点云属性的预测方法、编码器、解码器及存储介质与流程

2022-06-08 22:40:44 来源:中国专利 TAG:


1.本技术实施例涉及视频编解码技术领域,尤其涉及一种点云属性的预测方法、编码器、解码器及存储介质。


背景技术:

2.通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的点。在视频制作过程中,将点云数据以点云媒体文件的形式在视频制作设备和视频播放设备之间传输。但是,如此庞大的点给传输带来了挑战,因此,视频制作设备需要对点云数据进行压缩后传输。
3.点云数据的压缩主要包括位置信息的压缩和属性信息的压缩,在属性信息压缩时,通过预测来减小或消除点云数据中的冗余信息,例如,从已编码的点中获得当前点的一个或多个相邻点,根据相邻点的属性信息,来预测当前点的属性信息。
4.点云数据中可能存在位置信息相同的重复点,但是目前的点云预测方法均未考虑重复点在预测中的影响,其预测效率低。


技术实现要素:

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

‘0’
指示,获得占用码信息(occupancy code)作为点云几何信息的码流。
100.(b)基于三角表示的几何编码(trisoup):将点云划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。
101.(3)几何量化(geometry quantization):量化的精细程度通常由量化参数(qp)来
决定,qp取值越大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
102.(4)几何熵编码(geometry entropy encoding):针对八叉树的占用码信息,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码(cabac,content adaptive binary arithmetic coding)。
103.对于属性信息编码,主要操作和处理如下:
104.(1)属性重上色(recoloring):有损编码情况下,在几何信息编码后,需编码端解码并重建几何信息,即恢复3d点云的各点坐标信息。在原始点云中寻找对应一个或多个邻近点的属性信息,作为该重建点的属性信息。
105.(2)属性预测编码(predition):属性预测编码时,通过对几何信息或属性信息的邻近关系,选择一个或多个点作为预测值,并求加权平均获得最终属性预测值,对真实值与预测值之间的差值进行编码。
106.(3)属性变换编码(transform):属性变换编码中包含三种模式,可在不同条件下使用。
107.(a)预测变换编码(predicting transform):根据距离选择子点集,将点云划分成多个不同的层级(level of detail,lod),实现由粗糙到精细化的点云表示。相邻层之间可以实现自下而上的预测,即由粗糙层中的邻近点预测精细层中引入的点的属性信息,获得对应的残差信号。其中,最底层的点作为参考信息进行编码。
108.(b)提升变换编码(lifting transform):在lod相邻层预测的基础上,引入邻域点的权重更新策略,最终获得各点的预测属性值,获得对应的残差信号。
109.(c)分层区域自适应变换编码(region adaptive hierarchical transform,raht):属性信息经过raht变换,将信号转换到变换域中,称之为变换系数。
110.(4)属性信息量化(attribute quantization):量化的精细程度通常由量化参数(qp)来决定。在预测变换编码及提升变换编码中,是对残差值进行量化后进行熵编码;在raht中,是对变换系数进行量化后进行熵编码。
111.(5)属性熵编码(attribute entropy coding):量化后的属性残差信号或变换系数一般使用行程编码(run length coding)及算数编码(arithmetic coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
112.图3是本技术实施例提供的解码框架的示意性框图。
113.如图3所示,解码框架300可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
114.位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
115.属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置
解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
116.如图3所示,位置解码可通过以下单元实现:
117.熵解码单元301、八叉树重建单元302、逆坐标量化单元303以及逆坐标平移单元304。
118.属性编码可通过以下单元实现:
119.熵解码单元310、逆量化单元311、属性重建单元312以及逆空间变换单元313。
120.解压缩是压缩的逆过程,类似的,解码框架300中的各个单元的功能可参见编码框架200中相应的单元的功能。
121.在解码端,解码器获得压缩码流后,首先进行熵解码,获得各种模式信息及量化后的几何信息以及属性信息。首先,几何信息经过逆量化,得到重建的3d点位置信息。另一方面,属性信息经过逆量化得到残差信息,并根据采用的变换模式确认参考信号,得到重建的属性信息,按顺序与几何信息一一对应,产生输出的重建点云数据。
122.例如,解码框架300可根据点云中点与点之间的欧式距离将点云划分为多个lod;然后,依次对lod中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架300可基于解码出的残差值进行逆量化,并基于逆量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续lod中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。
123.在mpeg和avs的点云数据集中,存在多个包含重复点的数据集,重复点的比例在10%-50%。但是现有的属性预测方法未考虑重复点在预测中的影响,尤其是在无损的编码条件下。本技术提出了一种点云属性的预测方法,根据重复点的分布情况,在预测过程中,设计不同的相邻点选择策略,提高点云属性预测的效率。
124.下面将对本技术技术方案进行详细阐述:
125.首先以编码端为例,对本技术实施例提供的点云属性的预测方法进行描述。
126.图4为本技术实施例提供的一实施例的点云属性的预测方法的流程图,该方法的执行主体是视频播放设备,如图4所示,该方法包括如下步骤:
127.s401、获取点云数据,并从点云数据中获得距离当前点最近的n个已编码点作为当前点的n个相邻点。
128.需要说明的是,本实施例中,点云的属性信息编码是在位置信息编码后执行的。
129.在一些实施例中,获得点云数据中属性信息已编码的相邻点,计算已编码的相邻点与当前点之间的距离,根据距离大小,从已编码的相邻点中选取距离当前点在预定距离范围内的的n个相邻点作为当前点的n个相邻点。所述预定距离范围内的n个相邻点是通过将相邻点与当前点之间的各个距离进行比较后,得到的距离最近的前n个相邻点。
130.当前点的属性信息包括颜色属性和/或反射率属性。
131.在一些实施例中,若当前点的属性信息为反射率信息,则上述s401从点云数据中获得距离当前点最近的n个已编码点作为当前点的n个相邻点的方式包括但不限于如下几种方式:
132.方式一,对当前点的反射率属性进行预测时,可以采用莫顿序来选取当前点的n个相邻点,具体是:
133.获取点云数据中所有点云的坐标,并按照莫顿排序得到莫顿顺序1,如图5a所示。
134.接着,把所有点云的坐标(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)。
135.根据莫顿顺序编码,查找当前点的最近预测点,在莫顿顺序1中选取该当前点的前n1个已编码点作为当前点的n1个相邻点,n1取值范围是大于等于1,在莫顿顺序2中选取当前点的前n2个点已编码点作为当前点的n2个相邻点,n2的取值范围是大于等于1,n1 n2=n,进而获得当前点的n个相邻点。
136.可选的,在pcem软件中,上述j1=j2=j3=42,n1=n2=4。
137.方式二,计算在hilbert(希尔伯特)顺序下当前点的前maxnumofneighbours个已编码点,将maxnumofneighbours个已编码点作为当前点的n个相邻点。
138.可选的,maxnumofneighbours默认取值为128。
139.在一些实施例中,若当前点的属性信息为颜色信息,则上述s401从点云数据中获得距离当前点最近的n个已编码点作为当前点的n个相邻点的方式包括:
140.当前点的相邻点的空间关系如图5c所示,其中实线框表示当前点,假设相邻点的查找范围为当前点的3x3x3邻域。首先利用当前点的莫顿码得到该3x3x3邻域中莫顿码值最小的块,将该块作为基准块,利用基准块来查找与当前点共面、共线的已编码相邻点。该邻域范围内与当前点共面的相邻点之间的莫顿码关系如图5d所示,与当前点共线的相邻点之间的莫顿码关系如下图5e所示。
141.利用基准块来搜索与当前点共面、共线的已编码的n个相邻点,利用这n个相邻点来预测当前点的属性。
142.如果没有查找到与当前点共面和共线的已编码相邻点,则利用当前点的前一个莫顿码对应的点进行属性预测。
143.s402、从n个相邻点中获取k个第一相邻点,k个第一相邻点中包括m个位置信息相同的重复点。
144.在s402的一种可能的实现方式中,从n个相邻点中随机获取k个第一相邻点。
145.在s402的另一种可能的实现方式中,根据n个相邻点中每个相邻点的位置信息和当前点的位置信息,计算n个相邻点中每个相邻点与当前点之间的距离d。例如,当前点的坐标为(x,y,x),候选点的坐标为(x1,y1,z1),距离d计算方法为d=|x-x1| |y-y1| |z-z1|。可选的,本技术还可以采用其他的距离计算方式,计算每个相邻点与当前点之间的距离。将n个相邻点中距离d最小的前k个相邻点作为k个第一相邻点。这k个第一相邻点中存在m个位置信息相同的重复点。
146.s403、根据m个重复点,确定当前点的至少一个目标相邻点。
147.已有技术将上述s403获得的k个第一相邻点作为当前点的目标相邻点进行当前点
的属性信息的预测。而本技术考虑到k个第一相邻点中m个重复点对当前点的属性信息预测的影响,因此,基于m个重复点来确定当前点的至少一个目标相邻点,进而提高当前点属性信息预测的效率。
148.本步骤中,根据m个重复点确定当前点的至少一个目标相邻点的实现过程包括但不限于如下几种方式:
149.第一种实现方式,上述s403包括如下步骤s403-a1和s403-a2:
150.s403-a1、从m个重复点中确定出一个第三相邻点;
151.s403-a2、将第三相邻点作为当前点的一个目标相邻点。
152.上述第三相邻点可以为m个重复点中的任意一个重复点。由于m个重复点的位置信息相同,但是属性信息可能相同,也可能不同,因此,可以通过如下方式确定第三相邻点的属性信息:
153.一种方式,将m个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;
154.另一种方式,将m个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
155.在第一种方式的一些实施例中,视频编码器还可以将k个第一相邻点中除m个重复点之外的k-m个第一相邻点,作为当前点的k-m个目标相邻点。
156.进一步的,为了使得当前点的目标相邻点的个数为k个,则本技术实施例还包括:
157.s403-a3、从n个相邻点中选取m-1个第二相邻点,第二相邻点与第一相邻点不同。
158.s403-a4、将m-1个第二相邻点作为当前点的m-1个目标相邻点。
159.也就是说,从n个相邻点中除k个第一相邻点之外的剩余相邻点中选取m-1个第二相邻点,将这m-1个第二相邻点作为当前点的m-1个目标相邻点,这m-1个第二相邻点中可能包括重复点,也可能不包括重复点,本技术对此不做限制。
160.上述s403-a3的实现方式包括但不限于如下几种方式:
161.方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m-1个相邻点作为第二相邻点。
162.方式二,从n-k个相邻点中选取距离当前点最小的m-1相邻点作为m-1个第二相邻点,其中,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
163.第二种实现方式,若点云数据中的每个点包括时间信息,则上述s403包括s403-b1:
164.s403-b1、从m个重复点中选择时间信息与当前点的时间信息相同的p个重复点作为当前点的目标相邻点,p为正整数。
165.在上述s403-b1的基础上,为了使得当前点的目标相邻点的总数为k,则本技术还可以包括s403-b2:
166.s403-b2、从n个相邻点中选取m-p个第四相邻点,作为当前点的m-p个目标相邻点,其中第四相邻点与第一相邻点不同。
167.也就是说,从n个相邻点中除k个第一相邻点之外的剩余相邻点中选取m-p个第四相邻点,将这m-p个第四相邻点作为当前点的m-p个目标相邻点,这m-p个第四相邻点中可能包括重复点,也可能不包括重复点,本技术对此不做限制。
168.上述s403-b2的实现方式包括但不限于如下几种方式:
169.方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m-p个相邻点作为第二相邻点。
170.方式二,从n-k个相邻点中选取距离当前点最小的m-p个相邻点作为m-p个第二相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
171.第三种实现方式,上述s403包括s403-c1:
172.s403-c1、将k个第一相邻点中除m个重复点之外的第一相邻点,作为当前点的k-m个目标相邻点。也就是说,去除m个重复点。
173.在上述s403-c1的基础上,本技术还可以包括s403-c2:
174.s403-c2、从n-k个相邻点中选取m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
175.上述s403-c2的实现方式包括但不限于如下几种方式:
176.方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m个相邻点作为当前点的m个目标相邻点。
177.方式二,从n-k个相邻点中选取距离当前点最小的m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
178.第四种实现方式,上述s403包括s403-d1:
179.s403-d1、若当前点与m个重复点中的重复点的位置信息相同,则将m个重复点中与当前点的属性信息相同的重复点作为当前点的目标相邻点。
180.在一些实施例中,本技术在后续形成的码流中携带当前点的目标相邻点的总个数。
181.在一些实施例中,若上述确定的当前点的目标相邻点的总个数小于k时,在后续形成的码流中携带当前点的目标相邻点的总个数。若当前点的目标相邻点的总个数为k时,则在后续形成的码流中不携带当前点的目标相邻点的总个数,对应的,解码端在码流中没有解析出当前点的目标相邻点的总个数时,则默认当前点的目标相邻点的总个数为k。
182.本技术通过上述方法,可以根据m个重复点,确定出当前点的至少一个目标相邻点后,执行如下s404。
183.s404、根据至少一个目标相邻点的重建属性信息,对当前点进行属性预测。
184.在一些实施例中,若当前点的属性信息为反射率信息,则根据如下方式确定出当前点的反射率预测值:
185.将目标相邻点与当前点之间的曼哈顿距离的倒数作为该目标相邻点的权重,假设当前点的几何坐标为(xi,yi,zi),每个目标邻居的几何坐标为(xij,yij,zij),其中,j=1,2,3,

,k,假设目标相邻点的总个数为k个,根据如下公式(1)确定出目标相邻点的权重:
[0186][0187]
可选的,对于反射率属性,在x、y、z方向的分量采用不同权重,根据如下公式(2)确定出目标相邻点的权重:
[0188]
[0189]
其中,a、b、c分别为反射率属性在x、y、z方向的预设权重。可选的,该a、b、c可以查表获得,或者为预设的固定值。
[0190]
根据如下公式(3)确定出当前点的反射率预测值
[0191][0192]
其中,为目标相邻点的属性重建值,若当前点的目标相邻点的总个数为k,则j=1,2,

,k。
[0193]
在一些实施例中,若当前点的属性信息为颜色信息,如图5d和图5e所示,示例性的,以n=6为例,在已编码的点一定范围内[j-searchrange,j-1](当前点的索引为j)进行查找与当前点共面的相邻点,如果查找到共面的已编码的相邻点,则将共面的相邻点的权重分配为2;继续在已编码的点中查找与当前点共线的相邻点,如果在已编码点集中查找到共线的相邻点,则对共线的相邻点的权重分配为1。
[0194]
由此可知,当前点的每个目标相邻点均分配有权重,根据目标相邻点分配的权重,对各目标相邻点的属性重建值进行加权平均,得到当前点的颜色属性预测值。
[0195]
本技术提供的点云属性的预测方法,根据重复点的分布情况,在预测过程中,设计不同的目标相邻点选择策略,确定当前点的至少一个目标相邻点,并根据至少一个目标相邻点的重建属性信息,对当前点进行属性预测,提高点云属性预测的效率。
[0196]
在一些实施例中,在上述s401之前,本技术实施例还包括对点云数据中的重复点进行预处理和排序的步骤。其中预处理的方式包括但不限于如下几种:
[0197]
方式一,从点云数据中剔除位置信息和属性信息均相同的点,即去除点云数据中属性值相同的重复点。
[0198]
方式二,获取点云数据中位置信息相同、且属性信息不同的q个点,其中q为大于或等于2的正整数;从点云数据中剔除q个点中的q-1个点,保留q个点中的一个第一点,该第一点的属性值为所述q个点的属性值的平均值。也就是说,对属性值不同的重复点只保留一个,其对应属性值通过计算获得,例如,算术平均等方法。
[0199]
方式三,从点云数据中剔除与当前点的位置信息相同、且时间信息不同的点。例如根据输入点云数据的其他信息,例如时间戳信息,对重复点进行筛选,保留与当前点同一个时间戳的重复点。
[0200]
其中的排序方式包括但不限于如下几种:
[0201]
方式一,保持原始输入顺序。
[0202]
方式二,按重复点的属性值大小进行升序或降序排列,若有多个属性值,则先根据第一属性值进行排序,若第一属性值相同,则按照第二属性值进行排序,以此类推,第一属性值可以为颜色属性的属性值,第二属性值可以为反射率的属性值。若有多个属性值相同的重复点,则根据其他可能的输入信息排序或不排序。
[0203]
方式三,根据重复点中每个重复点的属性值与当前点的属性值的差值,对各重复点进行升序或降序排列。
[0204]
上文以编码端为例对本技术实施例提供的点云属性的预测方法进行描述,下面结合图6,以解码端为例,对本技术的技术方案进行介绍。
[0205]
图6为本技术实施例提供的另一实施例的点云属性的预测方法的流程图,如图6所示,包括:
[0206]
s601、解析码流,获得点云数据中每个点的位置信息。
[0207]
需要说明的,解码器解析码流,优先解码点云的位置信息,之后再解码点云的属性信息。
[0208]
s602、根据点云数据中每个点的位置信息,从点云数据中获得距离当前点最近的n个已解码点作为当前点的n个相邻点。
[0209]
例如,根据点云数据中每个点的位置信息和当前点的位置信息,获得当前点与每个点之间的距离,并根据当前点与每个点之间的距离,从点云数据中获得距离当前点最近的n个已解码点作为当前点的n个相邻点。
[0210]
其中上述s602的具体实现过程可以参照上述s401的具体描述,在此不再赘述。
[0211]
s603、从n个相邻点中获取k个第一相邻点,k个第一相邻点中包括m个位置信息相同的重复点。
[0212]
在一种示例中,根据n个相邻点中每个相邻点的位置信息和当前点的位置信息,计算n个相邻点中每个相邻点与当前点之间的距离,将n个相邻点中距离d最小的前k个相邻点作为k个第一相邻点。
[0213]
其中上述s603的具体实现过程可以参照上述s402的具体描述,在此不再赘述。
[0214]
s604、根据m个重复点,确定当前点的至少一个目标相邻点。
[0215]
本步骤中,根据m个重复点确定当前点的至少一个目标相邻点的实现过程包括但不限于如下几种方式:
[0216]
第一种实现方式,上述s604包括如下步骤s604-a1和s604-a2:
[0217]
s604-a1、从m个重复点中确定出一个第三相邻点;
[0218]
s604-a2、将第三相邻点作为当前点的一个目标相邻点。
[0219]
上述第三相邻点可以为m个重复点中的任意一个重复点。由于m个重复点的位置信息相同,但是属性信息可能相同,也可能不同,因此,可以通过如下方式确定第三相邻点的属性信息。
[0220]
例如,将m个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,
[0221]
将m个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
[0222]
解析码流,若码流中携带当前点的目标相邻点的总个数为k-m 1时,则在第一种方式的一些实施例中,视频编码器还可以将k个第一相邻点中除m个重复点之外的k-m个第一相邻点,作为当前点的k-m个目标相邻点。
[0223]
若码流中携带当前点的目标相邻点的总个数为k,或者码流中不携带当前点的目标相邻点的总个数信息,则默认当前点的目标相邻点的总个数为k时,在第一种方式的一些实施例中,则本技术实施例还包括:
[0224]
s604-a3、从n个相邻点中选取m-1个第二相邻点,第二相邻点与第一相邻点不同。
[0225]
s604-a4、将m-1个第二相邻点作为当前点的m-1个目标相邻点。
[0226]
上述s604-a3的实现方式包括但不限于如下几种方式:
[0227]
方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m-1个相邻点作为第二相邻点。
[0228]
方式二,从n-k个相邻点中选取距离当前点最小的m-1相邻点作为m-1个第二相邻点,其中,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0229]
第二种实现方式,若点云数据中的每个点包括时间信息,则上述s604包括s604-b1和s604-b2:
[0230]
s604-b1、解析码流,获得m个重复点的时间信息与当前点的时间信息;
[0231]
s604-b2、从m个重复点中选择时间信息与当前点的时间信息相同的p个重复点作为当前点的目标相邻点,p为正整数。
[0232]
在上述s604-b1的基础上,若码流中携带当前点的目标相邻点的总个数为k,或者码流中不携带当前点的目标相邻点的总个数信息,则默认当前点的目标相邻点的总个数为k时,本实现方式还可以包括s604-b2:
[0233]
s604-b2、从n个相邻点中选取m-p个第四相邻点作为当前点的m-p个目标相邻点,其中第四相邻点与第一相邻点不同。
[0234]
上述s604-b2的实现方式包括但不限于如下几种方式:
[0235]
方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m-p个相邻点作为第二相邻点。
[0236]
方式二,从n-k个相邻点中选取距离当前点最小的m-p相邻点作为m-p个第二相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0237]
第三种实现方式,上述s604包括s604-c1:
[0238]
s604-c1、将k个第一相邻点中除m个重复点之外的第一相邻点,作为当前点的k-m个目标相邻点。也就是说,去除m个重复点。
[0239]
在上述s604-c1的基础上,若码流中携带当前点的目标相邻点的总个数为k,或者码流中不携带当前点的目标相邻点的总个数信息,则默认当前点的目标相邻点的总个数为k时,本实现方式还可以包括s604-c2:
[0240]
s604-c2、从n-k个相邻点中选取m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0241]
上述s604-c2的实现方式包括但不限于如下几种方式:
[0242]
方式一,从n个相邻点中除k个第一相邻点之外的n-k个相邻点中,任意选取m个相邻点作为当前点的m个目标相邻点。
[0243]
方式二,从n-k个相邻点中选取距离当前点最小的m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0244]
第四种实现方式,上述s604包括s604-d1和s604-d2:
[0245]
s604-d1、确定当前点与m个重复点中的重复点的位置信息是否相同;
[0246]
s604-d2、若当前点与m个重复点中的重复点的位置信息相同,则将m个重复点中与当前点的属性信息相同的重复点作为当前点的目标相邻点。
[0247]
在一些实施例中,上述s604-d1包括但不限于如下几种方式:
[0248]
方式一,若m个重复点中存在与当前点的位置信息一致的点,则确定当前点与m个重复点的位置信息相同,也就是说,当前点为重复点。
[0249]
方式二,若当前点包括的重复点标识与m个重复点的重复点标志一致,则确定当前点与m个重复点的位置信息相同。需要说明的是,同一类的重复对应的重复点标识一致。
[0250]
方式三,解析码流,获得第一个重复点的重复点标识,若当前点与第一个重复点的位置信息相同,则确定当前点与所述m个重复点的位置信息相同。具体的,解析码流,得到第一个重复点的重复点标识,根据第一个重复点的重复点标识,查找到该第一个重复点,并判断该第一个重复点的位置信息与当前点的位置信息是否一致,若一致,则确定当前点为重复点。在该方式中,可以理解为第一个重复点为m个重复点中的第一个重复点。
[0251]
方式四,由于码流中的重复点按序排列在一起,解析码流,获得第一个重复点的重复点标识和重复点的个数,并根据第一个重复点和重复点个数,获得重复点集合;若当前点属于重复点集合,则确定当前点与m个重复点的位置信息相同。需要说明的是,m个重复点也可能属于该重复点集合。
[0252]
上述重复点标识和重复点个数可以携带在序列参数集(sequence parameter set,sps)、或几何参数集(geometry parameter set,gps)或属性参数集(attribute parameter set,aps)中的附件信息中。
[0253]
在一些实施例中,本技术的码流中携带有当前点的目标相邻点的总个数。
[0254]
在一些实施例中,若码流中没有解析出当前点的目标相邻点的总个数时,则默认当前点的目标相邻点的总个数为k。
[0255]
本技术通过上述方法,可以根据m个重复点,确定出当前点的至少一个目标相邻点后,执行如下s605。
[0256]
s605、根据至少一个目标相邻点的重建属性信息,对当前点进行属性预测。
[0257]
其中,n、k、m均为大于或等于1的正整数。
[0258]
其中上述s605的具体实现过程可以参照上述s404的具体描述,在此不再赘述。
[0259]
应理解,点云属性的预测方法600为上述点云属性的预测方法400的逆过程。点云属性的预测方法600中的步骤可以参考点云属性的预测方法400中的相应步骤,为了避免重复,在此不再赘述。
[0260]
以上结合附图详细描述了本技术的优选实施方式,但是,本技术并不限于上述实施方式中的具体细节,在本技术的技术构思范围内,可以对本技术的技术方案进行多种简单变型,这些简单变型均属于本技术的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本技术对各种可能的组合方式不再另行说明。又例如,本技术的各种不同的实施方式之间也可以进行任意组合,只要其不违背本技术的思想,其同样应当视为本技术所公开的内容。
[0261]
还应理解,在本技术的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0262]
上文结合图1至图6,详细描述了本技术的方法实施例,下文结合图7至图8,详细描述本技术的装置实施例。
[0263]
图7是本技术实施例的一编码器的示意性框图。
[0264]
如图7所示,编码器700可包括:
[0265]
第一获取单元701,用于获取点云数据,并从点云数据中获得距离当前点最近的n个已编码点作为当前点的n个相邻点;
[0266]
第二获取单元702,用于从n个相邻点中获取k个第一相邻点,k个第一相邻点中包括m个位置信息相同的重复点;
[0267]
确定单元703,用于根据m个重复点,确定当前点的至少一个目标相邻点;
[0268]
预测单元704,用于根据至少一个目标相邻点的重建属性信息,对当前点进行属性预测;
[0269]
其中,n、k、m均为大于或等于1的正整数。
[0270]
在一些实施例中,确定单元703,具体用于从m个重复点中确定出一个第三相邻点;将第三相邻点作为当前点的一个目标相邻点。
[0271]
在一些实施例中,确定单元703,还用于将m个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,将m个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
[0272]
在一些实施例中,确定单元703,还用于将k个第一相邻点中除m个重复点之外的k-m个第一相邻点,作为当前点的k-m个目标相邻点。
[0273]
在一些实施例中,确定单元703,还用于从n个相邻点中选取m-1个第二相邻点,第二相邻点与第一相邻点不同;将m-1个第二相邻点作为当前点的m-1个目标相邻点。
[0274]
在一些实施例中,确定单元703,还用于从n-k个相邻点中选取距离当前点最小的m-1相邻点作为m-1个第二相邻点,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0275]
在一些实施例中,确定单元703,具体用于从m个重复点中选择时间信息与当前点的时间信息相同的p个重复点作为当前点的目标相邻点,p为正整数。
[0276]
在一些实施例中,确定单元703,还用于从n个相邻点中选取m-p个第四相邻点,作为当前点的m-p个目标相邻点,第四相邻点与第一相邻点不同。
[0277]
在一些实施例中,确定单元703,还用于从n-k个相邻点中选取距离当前点最小的m-p相邻点作为m-p个第二相邻点,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0278]
在一些实施例中,确定单元703,具体用于将k个第一相邻点中除m个重复点之外的第一相邻点,作为当前点的k-m个目标相邻点。
[0279]
在一些实施例中,确定单元703,还用于从n-k个相邻点中选取m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0280]
在一些实施例中,确定单元703,具体用于若当前点与m个重复点位置信息相同,则将m个重复点中与当前点的属性信息相同的重复点作为当前点的目标相邻点。
[0281]
在一些实施例中,第二获取单元702,具体用于根据n个相邻点中每个相邻点的位置信息和当前点的位置信息,确定n个相邻点中每个相邻点与当前点之间的距离;将n个相邻点中距离最小的前k个相邻点作为k个第一相邻点。
[0282]
在一些实施例中,第一获取单元701,还用于获取点云数据中位置信息相同、且属性信息不同的q个点,q为大于或等于2的正整数;从点云数据中剔除q个点中的q-1个点,保留q个点中的一个第一点,第一点的属性值为q个点的属性值的平均值。
[0283]
在一些实施例中,第一获取单元701,还用于从点云数据中剔除位置信息和属性信息均相同的点。
[0284]
在一些实施例中,第一获取单元701,还用于从点云数据中剔除与当前点的位置信息相同、且时间信息不同的点。
[0285]
在一些实施例中,第一获取单元701,还用于对点云数据中位置信息相同的重复点按照属性值大小进行排序。
[0286]
在一些实施例中,预测单元704,还用于生成属性码流,属性码流中携带当前点的目标相邻点的总个数。
[0287]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置700可以执行上述方法400的实施例,并且装置700中的各个模块的前述和其它操作和/或功能分别为了实现编码器对应的方法实施例,为了简洁,在此不再赘述。
[0288]
上文中结合附图从功能模块的角度描述了本技术实施例的装置700。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本技术实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本技术实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0289]
图8是本技术实施例的一解码器的示意性框图。
[0290]
如图8所示,解码器800可包括:
[0291]
解码单元801,用于解析码流,获得点云数据中每个点的位置信息;
[0292]
第一获取单元802,用于根据点云数据中每个点的位置信息,从点云数据中获得距离当前点最近的n个已解码点作为当前点的n个相邻点;
[0293]
第二获取单元803,用于从n个相邻点中获取k个第一相邻点,k个第一相邻点中包括m个位置信息相同的重复点;
[0294]
确定单元804,用于根据m个重复点,确定当前点的至少一个目标相邻点;
[0295]
预测单元805,用于根据至少一个目标相邻点的重建属性信息,对当前点进行属性预测;
[0296]
其中,n、k、m均为大于或等于1的正整数。
[0297]
在一些实施例中,确定单元804,具体用于从m个重复点中确定出一个第三相邻点;将第三相邻点作为当前点的一个目标相邻点。
[0298]
在一些实施例中,确定单元804,还用于将m个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,将m个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
[0299]
在一些实施例中,确定单元804,还用于将k个第一相邻点中除m个重复点之外的k-m个第一相邻点,作为当前点的k-m个目标相邻点。
[0300]
在一些实施例中,确定单元804,还用于从n个相邻点中选取m-1个第二相邻点,第
二相邻点与第一相邻点不同;将m-1个第二相邻点作为当前点的m-1个目标相邻点。
[0301]
在一些实施例中,确定单元804,还用于从n-k个相邻点中选取距离当前点最小的m-1相邻点作为m-1个第二相邻点,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0302]
在一些实施例中,确定单元804,具体用于解析码流,获得m个重复点的时间信息与当前点的时间信息;从m个重复点中选择时间信息与当前点的时间信息相同的p个重复点,作为当前点的目标相邻点,p为正整数。
[0303]
在一些实施例中,确定单元804,还用于从n个相邻点中选取m-p个第四相邻点,作为当前点的m-p个目标相邻点,第四相邻点与第一相邻点不同。
[0304]
在一些实施例中,确定单元804,具体用于从n-k个相邻点中选取距离当前点最小的m-p相邻点作为m-p个第二相邻点,n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0305]
在一些实施例中,确定单元804,具体用于将k个第一相邻点中除m个重复点之外的第一相邻点,作为当前点的k-m个目标相邻点。
[0306]
在一些实施例中,确定单元804,还用于从n-k个相邻点中选取m个相邻点作为当前点的m个目标相邻点,其中n-k个相邻点为n个相邻点中除k个第一相邻点之外的相邻点。
[0307]
在一些实施例中,确定单元804,还用于确定当前点与m个重复点中的重复点的位置信息是否相同;若确定当前点与m个重复点的位置信息相同,则将m个重复点中与当前点的属性信息相同的重复点作为当前点的目标相邻点。
[0308]
在一些实施例中,确定单元804,具体用于若m个重复点中存在与当前点的位置信息一致的点,则确定当前点与m个重复点的位置信息相同;或者,若当前点包括的重复点标识与m个重复点的重复点标志一致,则确定当前点与m个重复点的位置信息相同;或者,解析码流,获得第一个重复点的重复点标识,若当前点与第一个重复点的位置信息相同,则确定当前点与m个重复点的位置信息相同;或者,解析码流,获得第一个重复点的重复点标识和重复点的个数,并根据第一个重复点和重复点个数,获得重复点集合,其中码流中的重复点按序排列在一起;若当前点属于重复点集合,则确定当前点与m个重复点的位置信息相同。
[0309]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置800可以执行方法600实施例,并且装置800中的各个模块的前述和其它操作和/或功能分别为了实现解码器对应的方法实施例,为了简洁,在此不再赘述。
[0310]
上文中结合附图从功能模块的角度描述了本技术实施例的装置800。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本技术实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本技术实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0311]
图9是本技术实施例提供的电子设备900的示意性框图,图9的电子设备可以为上
述的视频编码器或者为视频解码器。
[0312]
如图9所示,该电子设备900可包括:
[0313]
存储器910和处理器920,该存储器910用于存储计算机程序911,并将该程序代码911传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序911,以实现本技术实施例中的方法。
[0314]
例如,该处理器920可用于根据该计算机程序911中的指令执行上述方法200中的步骤。
[0315]
在本技术的一些实施例中,该处理器920可以包括但不限于:
[0316]
通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
[0317]
在本技术的一些实施例中,该存储器910包括但不限于:
[0318]
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
[0319]
在本技术的一些实施例中,该计算机程序911可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器910中,并由该处理器920执行,以完成本技术提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序911在该电子设备900中的执行过程。
[0320]
如如9所示,该电子设备900还可包括:
[0321]
收发器930,该收发器930可连接至该处理器920或存储器910。
[0322]
其中,处理器920可以控制该收发器930与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器930可以包括发射机和接收机。收发器930还可以进一步包括天线,天线的数量可以为一个或多个。
[0323]
应当理解,该电子设备900中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
[0324]
根据本技术的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本技术实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
[0325]
根据本技术的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机
程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
[0326]
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0327]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0328]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0329]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0330]
以上该,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以该权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献