点云编码方法、点云解码方法及终端与流程

文档序号:32518941发布日期:2022-12-13 18:08阅读:33来源:国知局
1.本技术属于点云处理
技术领域
:,具体涉及一种点云编码方法、点云解码方法及终端。
背景技术
::2.点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点通常包括几何信息和属性信息,上述几何信息例如是三维坐标(x,y,z),上述属性信息例如是颜色(r,g,b)和反射率。3.目前,在数字音视频编解码技术标准(audiovideocodingstandard,avs)中,先对点云的几何信息进行编码,在几何编码完成,对点云进行几何重建后,再对点云的属性信息进行属性编码,这对点云的属性编码造成了很大的时延。4.在对点云进行几何编码的过程中,需要对点云进行多叉树编码,上述多叉树编码包括但不限于八叉树编码、四叉树编码和二叉树编码;也就是说,在对点云进行完整的多叉树划分后,才能得到点云的几何信息,这对点云的几何编码造成了很大的时延。此外,点云的解码过程与点云的编码过程一致,也存在较大时延。5.基于上述内容可以得到,点云的编解码过程存在较高的时延,进而降低了点云的编解码效率。技术实现要素:6.本技术实施例提供一种点云编码方法、点云解码方法及终端,能够解决点云的编解码过程存在较高的时延,进而降低了点云的编解码效率的问题。7.第一方面,提供了一种点云编码方法,该方法包括:8.获取待编码的第一目标点云的第一标识参数;9.基于所述第一标识参数对所述第一目标点云执行编码操作;10.其中,所述编码操作包括以下至少一项:11.在所述第一标识参数用于表征并行编码的情况下,对所述第一目标点云并行执行几何编码和属性预测编码,得到所述第一目标点云的编码结果;12.对所述第一目标点云的至少部分待编码点执行几何预测编码。13.第二方面,提供了一种点云解码方法,该方法包括:14.获取待解码的第二目标点云的第五标识参数;15.基于所述第五标识参数对所述第二目标点云执行解码操作;16.其中,所述解码操作包括以下至少一项:17.在所述第五标识参数用于表征并行解码的情况下,对所述第二目标点云并行执行几何解码和属性预测解码,得到所述第二目标点云的解码结果;18.对所述第二目标点云的至少部分待解码点执行几何预测解码。19.第三方面,提供了一种编码器,包括:20.第一获取模块,用于获取待编码的第一目标点云的第一标识参数;21.编码模块,用于基于所述第一标识参数对所述第一目标点云执行编码操作;22.其中,所述编码操作包括以下至少一项:23.在所述第一标识参数用于表征并行编码的情况下,对所述第一目标点云并行执行几何编码和属性预测编码,得到所述第一目标点云的编码结果;24.对所述第一目标点云的至少部分待编码点执行几何预测编码。25.第四方面,提供了一种解码器,包括:26.第二获取模块,用于获取待解码的第二目标点云的第五标识参数;27.解码模块,用于基于所述第五标识参数对所述第二目标点云执行解码操作;28.其中,所述解码操作包括以下至少一项:29.在所述第五标识参数用于表征并行解码的情况下,对所述第二目标点云并行执行几何解码和属性预测解码,得到所述第二目标点云的解码结果;30.对所述第二目标点云的至少部分待解码点执行几何预测解码。31.第五方面,提供了一种终端,该终端包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。32.第六方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。33.第七方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或者实现如第二方面所述的方法的步骤。34.第八方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在非易失的存储介质中,所述程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。35.在本技术实施例中,基于第一目标点云的第一标识参数,对第一目标点云并行执行几何编码和属性预测编码,以此降低第一目标点云在属性编码过程中的时延。通过对第一目标点云的至少部分待编码点执行几何预测编码,而不是对第一目标点云的全部待编码点执行多叉树编码,进一步降低第一目标点云在几何编码过程中的时延。这样,通过降低第一目标点云在编码过程中的时延,提高第一目标点云的编码效率。附图说明36.图1是点云avs编码器框架示意图;37.图2是点云avs解码器框架示意图;38.图3是本技术实施例提供的点云编码方法的流程图;39.图4是本技术实施例提供的并行编码的流程示意图;40.图5是本技术实施例提供的低时延几何预测编码的流程示意图;41.图6是本技术实施例提供的混合几何编码的流程示意图;42.图7是本技术实施例提供的点云解码方法的流程图;43.图8是本技术实施例提供的编码器的结构图;44.图9是本技术实施例提供的解码器的结构图;45.图10是本技术实施例提供的通信设备的结构图;46.图11是本技术实施例提供的终端的硬件结构示意图。具体实施方式47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。48.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。49.本技术实施例中的点云编码方法对应的编码器和点云解码方法对应的解码器均可以为终端,该终端也可以称作终端设备或者用户终端(userequipment,ue),终端可以是手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)或称为笔记本电脑、个人数字助理(personaldigitalassistant,pda)、掌上电脑、上网本、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、移动上网装置(mobileinternetdevice,mid)、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、机器人、可穿戴式设备(wearabledevice)或车载设备(vue)、行人终端(pue)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等。需要说明的是,在本技术实施例并不限定终端的具体类型。50.为了方便理解,以下对本技术实施例涉及的一些内容进行说明:51.请参阅图1,如图1所示,目前,在数字音视频编解码技术标准中,使用点云avs编码器对点云的几何信息和属性信息是分开编码的。首先对几何信息进行坐标转换,使点云全部包含在一个包围盒(boundingbox)中,然后再进行坐标量化。量化主要起到缩放的作用,由于量化会对几何坐标取整,使得一部分点的几何信息相同,称为重复点,根据参数来决定是否移除重复点,量化和移除重复点这两个步骤又被称为体素化过程。接下来,对包围盒进行多叉树划分,例如八叉树、四叉树或二叉树划分。在基于多叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,对非空的的子立方体继续进行划分,直到划分得到叶子节点为1x1x1的单位立方体时停止划分,对叶子结点中的点数进行编码,生成二进制码流。52.在对点云进行基于多叉树的几何编码中,待编码点需要存储邻居节点的占位信息来为待编码点的占位信息进行预测编码,这样,对于接近叶子节点的待编码点而言,需要存储大量的占位信息,占用了大量的内存空间。53.几何编码完成后,对几何信息进行重建,用于后面的重着色。属性编码主要针对的是颜色和反射率信息。首先根据参数判断是否进行颜色空间转换,若进行颜色空间转换,则将颜色信息从红绿蓝(redgreenblue,rgb)颜色空间转换到亮度色彩(yuv)颜色空间。然后,利用原始点云对几何重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,通过莫顿码对点云进行排序后,利用几何空间关系搜索待预测点的最近邻,并利用所找到邻居的重建属性值对待预测点进行预测得到预测属性值,然后将真实属性值和预测属性值进行差分得到预测残差,最后对预测残差进行量化并编码,生成二进制码流。54.应理解,数字音视频编解码技术标准中的解码流程与上述编码流程对应,具体的,avs解码器框架如图2所示。55.目前,数字音视频编解码技术标准具有以下技术问题:56.第一,需要在点云的几何编码完成后,才能对点云进行属性编码,导致点云的属性编码时延较长。57.第二、在点云的几何编码过程中,对点云进行完整的多叉树划分之后,才能得到点云中编码点对应的几何信息,导致点云的几何编码时延较长。58.第三、在点云进行解码的过程中,基于上述相同的原因,几何解码过程和属性解码过程也存在时延较长的问题。59.第四、在点云的几何编码过程中,待编码点需要存储邻居节点的占位信息,这占用了大量的内存空间。60.基于上述情况,如何降低点云在编解码过程中的时延,提高编解码效率,以及减少几何编码所占用的内存,是一个待以解决的技术问题。基于此,本技术提供了一种点云编码方法和点云解码方法。61.下面结合附图,通过一些实施例及其应用场景对本技术实施例提供的点云编码方法进行详细地说明。62.请参阅图3,图3是本技术提供的点云编码方法的流程图。本实施例提供的点云编码方法包括以下步骤:63.s101,获取待编码的第一目标点云的第一标识参数。64.本步骤中,将待编码的点云称为第一目标点云,应理解,在对点云进行编码的过程中,通常是针对一帧点云进行编码,这里,可以将第一目标点云理解为一帧点云;且点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集,也就是说,点云包括多个编码点。65.上述第一标识参数是第一目标点云对应的序列参数集(sequenceparameterset,sps)中的一个参数。例如,上述第一标识参数可以是geometry_attribute_simultaneous_enable_flag。应理解,序列参数集是指点云序列对应的参数集,点云序列是指多帧点云形成的序列,这里,可以从第一目标点云所属点云序列对应的序列参数集中获取第一标识参数。66.s102,基于所述第一标识参数对所述第一目标点云执行编码操作。67.本步骤中,若序列参数集中存在上述第一标识参数,则可以对第一目标点云执行并行编码,并行编码存在以下几种编码情况:68.第一种情况,对第一目标点云并行执行几何编码和属性预测编码,得到第一目标点云的编码结果。69.上述几何编码是指对第一目标点云执行多叉树编码;上述属性预测编码是指通过确定第一目标点云对应的属性预测模式,对第一目标点云进行属性编码,其中,对第一目标点云进行属性预测编码的具体实施方式,请参阅后续实施例;上述编码结果包括第一目标点云对应的几何熵编码和属性熵编码。70.第二种情况,对第一目标点云并行执行几何编码和属性预测编码,其中,对第一目标点云的至少部分待编码点执行几何预测编码。71.这种情况下,可以对第一目标点云中的部分待编码点执行传统的八叉树编码,对另一部分待编码点执行几何预测编码;或者,对第一目标点云中的全部待编码点执行几何预测编码。72.为便于理解以上两种情况,请参阅图4,图4是本技术实施例提供的并行编码的流程示意图。如图4所示,确定序列参数集中是否存在第一标识参数,若序列参数集中存在第一标识参数,则对第一目标点云并行执行几何编码和属性预测编码;若序列参数集中不存在第一标识参数,则先对第一目标点云执行几何编码,再对第一目标点云执行属性编码。73.第三种情况,先对第一目标点云的至少部分待编码点执行几何预测编码,再对第一目标点云进行属性编码。74.上述几何预测编码是指通过确定第一目标点云对应的几何预测模式,对第一目标点云进行几何编码,其中,对第一目标点云进行几何预测编码的具体实施方式,请参阅后续实施例。75.应理解,在对待编码点进行几何预测编码的过程中,不需要对待编码点进行多叉树编码,以此降低第一目标点云的编码时延。并且,待编码点需要存储邻居节点的占位信息,减少了几何编码所占用的内存。76.在本技术实施例中,基于第一目标点云的第一标识参数,对第一目标点云并行执行几何编码和属性预测编码,以此降低第一目标点云在属性编码过程中的时延。通过对第一目标点云的至少部分待编码点执行几何预测编码,而不是对第一目标点云的全部待编码点执行多叉树编码,进一步降低第一目标点云在几何编码过程中的时延。这样,通过降低第一目标点云在编码过程中的时延,提高第一目标点云的编码效率。77.以下,具体说明对第一目标点云的全部待编码点执行几何预测编码的情况:78.可选地,所述对所述第一目标点云的至少部分待编码点执行几何预测编码包括:79.在所述第一目标点云对应的第二标识参数用于表征对全部待编码点执行几何预测编码的情况下,基于所述第一目标点云的待编码点对应的编码顺序,确定n个几何预测值;80.确定每一所述几何预测模式对应的率失真代价;81.使用第一参数值对目标几何预测模式对应的第一预测残差进行量化;82.对量化后的第一预测残差进行熵编码。83.应理解,序列参数集包括几何参数集(geometryparametersset,sps)和属性参数集(attributesparameterset,aps),其中,几何参数集中的参数与点云的几何编码过程相关,属性参数集中的参数与点云的属性编码过程相关。84.本实施例中,上述第二标识参数为几何参数集中的参数,在一些实施例中,上述第二标识参数可以设置为low_latency_geometry_enable_flag,其中,第二标识参数又称为低时延参数。在第一目标点云对应的几何参数集中存在该第二标识参数的情况下,对第一目标点云中的全部待编码点执行几何预测编码,可以将对全部待编码点执行几何预测编码的过程称为低时延几何预测编码。85.下面,具体阐述几何预测编码的编码过程。86.预先建立第一列表,该第一列表包括n个几何预测值,其中,n个几何预测值与n个几何预测模式一一对应,n为大于1的正整数。87.可选地,所述基于所述第一目标点云的待编码点对应的编码顺序,确定n个几何预测值包括以下至少一项:88.在所述待编码点对应的编码顺序小于等于预设值的情况下,预先设置所述n个几何预测值;89.在所述待编码点对应的编码顺序大于所述预设值的情况下,确定所述n个几何预测值与所述第一目标点云中的已编码点相关联。90.若该待编码点对应的编码顺序小于等于预设值,则在第一列表中预先设置n个几何预测值,其中,每个几何预测值各不相同。91.可选地,设置预设值为1。也就是说,对于编码顺序最先的待编码点,使用n个预先设置的几何预测值对该待编码点进行几何预测编码。92.若该待编码点对应的编码顺序大于预设值,则根据已编码点的几何信息,设置第一列表中的几何预测值。93.示例性的,若n的数量为4,即第一列表包括4个几何预测值,待编码点的编码顺序为5,则可以利用位于待编码点之前的编码顺序为1至4的4个待编码点的几何信息,确定几何预测值。94.例如,几何预测值的确定规则可以是,第一个几何预测值为4个待编码点的几何信息的和;第二个几何预测值为4个待编码点的最小几何信息;第三个几何预测值为4个待编码点的几何信息的平均值;第四个几何预测值为第4个待编码点的几何信息与第3个待编码点的几何信息的差值。其中,待编码点的几何信息可以表征为待编码点的三维坐标(x,y,z)。95.应理解,关于几何预测值具体的确定规则可以灵活设定,本实施例在此不做具体限定。96.如上所述,n个几何预测值与n个几何预测模式一一对应,即每个几何预测值用于表征一种几何预测模式。使用n个几何预测模式对待编码点进行几何预测编码,确定每个几何预测模式对应的率失真代价。97.具体而言,使用几何预测模式对待编码点进行几何预测编码后,得到待编码点对应的预测几何信息,该预测几何信息可以理解为一个三维坐标;将上述预测几何信息作为率失真代价算法的输入,计算得到待编码点在该几何预测模式下的率失真代价。98.在得到每个几何预测模式对应的率失真代价后,将率失真代价最小的几何预测模式确定为目标几何预测模式。99.几何参数集可能存在第三标识参数和与第三标识参数关联的第一参数值。该第三标识参数可以表示为geometry_enable_quantizated_flag,该第一参数值可以表示为geomqp[3]。该第三标识参数用于表征有损编码,也就是说,若几何参数集中存在第三标识参数,则表示对待编码点引入环内几何量化。其中,环内几何量化可以理解为是对待编码点进行几何编码所产生的预测残差进行量化。[0100]本实施例中,在几何参数集中存在第三标识参数的情况下,使用第一参数值对目标几何预测模式对应的第一预测残差进行量化,并对量化后的第一预测残差进行熵编码,得到几何熵编码。其中,第一预测残差可以理解为几何预测编码点与待编码点之间的差值,上述几何预测编码点为使用目标几何预测模式对待编码点进行几何预测编码后得到的编码点。[0101]应理解,在一些实施例中,若几何参数集中不存在第三标识参数,则直接对目标几何预测模式对应的第一预测残差进行熵编码,得到几何熵编码。[0102]本实施例中,在几何参数集存在第二标识参数的情况下,对第一目标点云中的全部待编码点进行几何预测编码,由于几何预测编码中不涉及对待编码点进行多叉树划分,因此可以降低第一目标点云的编码时延。[0103]为便于理解对全部待编码点执行几何预测编码的具体流程,请参阅图5,图5是本技术实施例提供的低时延几何预测编码的流程示意图。[0104]如图5所示,在几何参数集中不存在第二标识参数的情况下,对第一目标点云执行多叉树编码,并对多叉树编码的编码结果进行熵编码,得到几何熵编码。[0105]如图5所示,在几何参数集中存在第二标识参数的情况下,对第一目标点云执行几何预测编码,若几何参数集中还存在第三标识参数,则使用第三标识参数关联的第一参数值对几何预测编码得到的预测残差进行量化,得到量化后的预测残差,对量化后的预测残差进行熵编码,得到几何熵编码。若几何参数集中不存在第三标识参数,则直接对预测残差进行熵编码,得到几何熵编码。[0106]应理解,在一些实施例中,出于提高编码效率的需要,可以对第一目标点云的待编码点进行预设排序,确定待编码点的编码顺序,然后,对每个待编码点进行几何预测编码。[0107]例如,可以预先对待编码点进行莫顿码排序、希尔伯特排序或者方位角顺序排序,确定待编码点的编码顺序。[0108]以下,具体说明对第一目标点云的部分待编码点执行几何预测编码的情况:[0109]可选地,所述对所述第一目标点云的至少部分待编码点执行几何预测编码包括:[0110]在所述第一目标点云对应的第四标识参数用于表征混合编码的情况下,获取所述第四标识参数关联的第二参数值;[0111]基于所述第二参数值,将所述第一目标点云划分为第一待编码点和第二待编码点;[0112]使用不同的编码方式对所述第一待编码点和所述第二待编码点进行编码。[0113]应理解,几何参数集中可能存在第四标识参数和第四标识参数关联的第二参数值。该第四标识参数可以表示为geometry_enable_predict_flag,该第四标识参数又称为混合编码参数,该第四标识参数用于表征混合编码,也就是说,若几何参数集中存在第四标识参数,则对第一目标点云的部分待编码点进行多叉树编码,另一部分待编码点进行几何预测编码。该第二参数值可以表示为octree_division_end_nodesizelog2[3]。[0114]在第一目标点云对应的几何参数集中存在该第四标识参数的情况下,执行混合编码。[0115]以下,对混合编码进行详细阐述。[0116]获取几何参数集中与第四标识参数关联的第二参数值,使用第二参数值将第一目标点云中的待编码点划分为第一待编码点和第二待编码点。[0117]可选地,所述基于所述第二参数值,将所述第一目标点云划分为第一待编码点和第二待编码点包括:[0118]将所述第一目标点云的第1个编码层至第m-1个编码层对应的待编码点,确定为所述第一待编码点;[0119]将所述第一目标点云的第m个编码层至第l个编码层对应的待编码点,确定为所述第二待编码点。[0120]应理解,第一目标点云包括l个编码层,所述第二参数值用于指示第m个编码层,l大于1的正整数,m为小于l的正整数。[0121]为便于理解,示例说明如下:[0122]第一目标点云包括10个编码层,即l为10;第二参数值用于指示第5个编码层,即m为5。这种情况下,将第一目标点云的第1个编码层至第4个编码层对应的待编码点,确定为第一待编码点;将第一目标点云的第5个编码层至第10个编码层对应的待编码点,确定为第二待编码点。其中,第一待编码点又称为高比特待编码点,第二待编码点又称为低比特待编码点。[0123]在将第一目标点云中的待编码点划分为第一待编码点和第二待编码点之后,使用不同的编码方式对所述第一待编码点和所述第二待编码点进行编码。[0124]可选地,所述使用不同的编码方式对所述第一待编码点和所述第二待编码点进行编码包括:[0125]对所述第一待编码点进行多叉树编码,以及对所述第二待编码点进行几何预测编码;[0126]对所述第一待编码点进行几何预测编码,以及对所述第二待编码点进行多叉树编码。[0127]本实施例中,对第一待编码点进行多叉树编码,其中,上述多叉树编码包括但不限于八叉树编码、四叉树编码和二叉树编码。[0128]对第二待编码点进行几何预测编码,几何预测编码的具体内容请参阅上述实施例,在此不做重复阐述。[0129]在另一可能的实施例中,可以对第一待编码点进行几何预测编码,对第二待编码点进行多叉树编码。[0130]本实施例中,在第一目标点云对应的几何参数集存在第四标识参数的情况下,对第一目标点云中的部分待编码点执行几何预测编码,对于这部分待编码点而言,不需要进行多叉树的划分,降低了部分待编码点的在几何编码过程中的编码时延,进而提高了编码效率。[0131]为便于理解对第一目标点云执行混合编码的流程,请参阅图6,图6是本技术实施例提供的混合几何编码的流程示意图。如图6所示,若几何参数集中不存在第四标识参数,则对第一目标点云执行多叉树编码,并对多叉树编码的编码结果进行熵编码,得到几何熵编码。[0132]若几何参数集中存在第四标识参数,则获取几何参数集中与第四标识参数关联的第二参数值,使用第二参数值将第一目标点云的待编码点划分为第一待编码点和第二待编码点,对第一待编码点执行多叉树编码;对第二待编码点执行几何预测编码,并对几何预测编码得到的预测残差进行熵编码,得到几何熵编码。[0133]应理解,在一些实施例中,若几何参数集中存在第一标识参数,但不存在第二标识参数和第四标识参数,则对待编码点同步执行多叉树编码和属性预测编码。[0134]下面,具体阐述属性预测编码的编码过程。[0135]可选地,对所述第一目标点云执行属性预测编码包括:[0136]基于所述第一目标点云的待编码点对应的编码顺序,确定i个属性预测值;[0137]确定每一所述属性预测模式对应的率失真代价;[0138]对目标属性预测模式对应的第二预测残差进行熵编码,所述目标属性预测模式为最小的率失真代价对应的属性预测模式。[0139]本实施例中,预先建立第二列表,第二列表包括i个属性预测值,其中,i个属性预测值与i个属性预测模式一一对应,i为大于1的正整数。[0140]具体而言,可以基于待编码点对应的编码顺序,确定上述i个属性预测值。[0141]可选地,在待编码点对应的编码顺序小于等于预设值的情况下,预先设置i个属性预测值。[0142]示例性的,上述预设值可以为1。这样,编码顺序为1的待编码点对应的i个属性预测值均为预先设置的,其中,预先设置的i个属性预测值各不相同。[0143]可选地,在待编码点对应的编码顺序大于预设值的情况下,可以基于第一目标点云中的已编码点的属性信息,确定i个属性预测值。[0144]示例性的,上述预设值为1,i的数量为4,即第二列表包括4个属性预测值,待编码点的编码顺序为5;则可以利用位于待编码点之前的编码顺序为1至4的4个待编码点的属性信息,确定属性预测值。[0145]其中,属性预测值的确定规则与上述几何预测值的确定规则相同,在此不做重复阐述,且关于属性预测值具体的确定规则可以灵活设定,在此不做具体限定。[0146]如上所述,i个属性预测值与i个属性预测模式一一对应,即每个属性预测值用于表征一种属性预测模式。使用i个属性预测模式对待编码点进行属性预测编码,确定每个属性预测模式对应的率失真代价。应理解,具体的对待编码点进行属性预测编码的方式,与上述对待编码点进行几何预测编码的方式相同,在此不做重复阐述。[0147]进一步的,将率失真代价最小的属性预测模式确定为目标属性预测模式,并对目标属性预测模式对应的第二预测残差进行熵编码,得到属性熵编码。[0148]其中,第二预测残差可以理解为属性预测编码点与待编码点之间的差值,上述属性预测编码点为使用目标属性预测模式对待编码点进行属性预测编码后得到的编码点。[0149]本实施例中,使用属性预测编码对待编码点进行编码,得到待编码点对应的属性熵编码。这样,不需要利用几何信息即可得到待编码点对应的属性信息,大大降低了属性编码过程的时延,提高了点云的编码效率。[0150]在一些可能的实施例中,还可以通过以下方式对第一目标点云执行属性预测编码。[0151]可选地,对所述第一目标点云执行属性预测编码包括:[0152]基于所述第一目标点云的待编码点对应的几何信息,确定所述待编码点对应的目标编码点;所述目标编码点为所述第一目标点云中的已编码点;[0153]根据所述目标编码点对应的属性信息,确定所述待编码点对应的i个属性预测值;[0154]确定每一所述属性预测模式对应的率失真代价;[0155]对目标属性预测模式对应的第二预测残差进行熵编码,所述目标属性预测模式为最小的率失真代价对应的属性预测模式。[0156]本实施例中,按照第一目标点云中各编码点对应的编码顺序,预先对部分编码点进行几何编码,得到部分编码点的几何信息。随后,对第一目标点云执行属性预测编码。应理解,在对第一目标点云执行属性预测编码的过程中,并行对第一目标点云进行几何编码。也就是说,在对第一目标点云并行执行几何编码和属性预测编码之前,已经得到部分编码点的几何信息。[0157]在对待编码点执行属性预测编码之前,已经得到了编码顺序位于待编码点之前的所有编码点对应的几何信息和属性信息,完成了对这部分编码点的编码过程,这样,可以将这部分编码点称为已编码点。也就是说,编码顺序位于待编码之前的编码点均为已编码点。[0158]在对待编码点进行属性预测编码时,可以得到待编码点对应的几何信息和已编码点对应的几何信息,将与待编码点对应的几何信息相匹配的已编码点确定为目标编码点。[0159]如上所述,几何信息可以理解为三维坐标,一种可选的实施方式为,以待编码点对应的三维坐标为搜索中心,在搜索中心的预设范围内,搜索已编码点。若已编码点的数量为1,则将该已编码点确定为目标编码点;若存在多个已编码点,则计算每个已编码点对应的三维坐标与搜索中心之间的欧式距离,将欧式距离最短的已编码点确定为目标编码点。[0160]应理解,还可以通过其他方式确定目标编码点,以上仅为一种示例。[0161]如上所述,在进行属性预测编码前,预先建立有第二列表,且第二列表包括i个属性预测值,本实施例中,可以基于目标编码点对应的属性信息,确定上述i个属性预测值。[0162]例如,i为3,即第二列表包括3个属性预测值,则可以将第一个属性预测值设置为目标编码点对应的颜色信息,将第二个属性预测值设置为目标编码点对应的反射率,将第三个属性预测值设置为目标编码点对应的颜色信息与反射率的乘积。[0163]应理解,以上仅为一种示例,本实施例并不对属性预测值的具体确定规则进行限定。[0164]如上所述,每个属性预测值用于表征一种属性预测模式。使用i个属性预测模式对待编码点进行属性预测编码,确定每个属性预测模式对应的率失真代价。再将率失真代价最小的属性预测模式确定为目标属性预测模式,对目标属性预测模式对应的第二预测残差进行熵编码,得到属性熵编码。应理解,具体的使用属性预测值对待编码点进行属性预测编码的过程,可以参阅上述实施例,在此不做重复阐述。[0165]需要说明的是,若两个编码点表征的三维坐标点较为接近,则这两个编码点之间的属性信息存在相关性。[0166]本实施例中,当对待编码点进行属性预测编码时,可以得到待编码点对应的几何信息,和已编码点对应的几何信息和属性信息。基于待编码点的几何信息和已编码点的几何信息,确定该待编码点对应的目标编码点,应理解,待编码点表征的三维坐标点与目标编码点表征的三维坐标点较为接近。[0167]进一步的,如上所述,三维坐标点较为接近的两个编码点之间的属性信息存在相关性,由于待编码点表征的三维坐标点与目标编码点表征的三维坐标点较为接近,因此使用目标编码点的属性信息对待编码点进行属性预测编码,以提高属性预测编码的编码效率。[0168]下面结合附图,通过一些实施例及其应用场景对本技术实施例提供的点云解码方法进行详细地说明。[0169]请参阅图7,图7是本技术提供的点云解码方法的流程图。本实施例提供的点云解码方法包括以下步骤:[0170]s201,获取待解码的第二目标点云的第五标识参数。[0171]本步骤中,将待解码的点云称为第二目标点云,上述第五标识参数可以与第一标识参数为同一标识参数,从第二目标点云对应的序列参数集中获取第五标识参数。[0172]s202,基于所述第五标识参数对所述第二目标点云执行解码操作。[0173]本步骤中,若序列参数集中存在第五标识参数,则可以对第二目标点云执行并行解码,这种情况下,存在以下几种解码情况:[0174]第一种情况,对第二目标点云并行执行几何解码和属性预测解码,得到第二目标点云的编码结果。[0175]其中,上述几何解码是指对第二目标点云执行多叉树解码。上述属性预测解码是指通过确定第二目标点云对应的属性预测模式,对第二目标点云进行属性解码,应理解,确定第二目标点云对应的属性预测模式的方式,与确定第一目标点云对应的属性预测模式的方式相同。上述解码结果包括几何信息和属性信息。[0176]第二种情况,先对第二目标点云的至少部分待解码点执行几何预测解码,再对第二目标点云进行属性解码。[0177]其中,上述几何预测解码是指通过确定第二目标点云对应的几何预测模式,对第二目标点云进行几何解码,应理解,确定第二目标点云对应的几何预测模式的方式,与确定第一目标点云对应的几何预测模式的方式相同。[0178]第三种情况,对第二目标点云并行执行几何解码和属性预测解码,其中,对第二目标点云的至少部分待解码点执行几何预测解码。[0179]本实施例中,基于第五标识参数,对第二目标点云并行执行几何解码和属性预测解码,以降低第二目标点云在属性解码过程中的时延。对第二目标点云的至少部分待解码点执行几何预测解码,进一步降低第二目标点云在几何解码过程中的时延。通过上述方式,降低第二目标点云在整个解码过程中的时延,提高第二目标点云的解码效率。[0180]应理解,在一些实施例中,若第二目标点云对应的几何参数集中存在第二标识参数,则可以对第二目标点云中的所有待解码点执行几何预测解码。[0181]应理解,在一些实施例中,在对第二目标点云进行几何预测解码的过程中,若几何参数集中存在第三标识参数和第一参数值,则可以使用第一参数值对待解码点进行有损解码,具体的实施方式与对第一目标点云执行有损编码一致,在此不做重复阐述。[0182]应理解,在一些实施例中,若几何参数集中存在第四标识参数,则对第二目标点云中的待解码点执行混合解码,即对部分待解码点执行几何预测解码,另一部分待解码点执行多叉树解码。[0183]需要说明的是,本技术实施例提供的点云编码方法,执行主体可以为编码器,或者,该编码器中的用于执行点云编码的方法的控制模块。本技术实施例中以编码器执行点云编码方法为例,说明本技术实施例提供的编码器。[0184]如图8所示,编码器300包括:[0185]第一获取模块301,用于获取待编码的第一目标点云的第一标识参数;[0186]编码模块302,用于基于所述第一标识参数对所述第一目标点云执行编码操作。[0187]可选地,所述编码模块302包括:[0188]第一确定单元,用于在所述第一目标点云对应的第二标识参数用于表征对全部待编码点执行几何预测编码的情况下,基于所述第一目标点云的待编码点对应的编码顺序,确定n个几何预测值;[0189]第二确定单元,用于确定每一所述几何预测模式对应的率失真代价;[0190]量化单元,用于使用第一参数值对目标几何预测模式对应的第一预测残差进行量化;[0191]第一编码单元,用于对量化后的第一预测残差进行熵编码。[0192]可选地,所述第一确定单元,具体用于:[0193]在所述待编码点对应的编码顺序小于等于预设值的情况下,预先设置所述n个几何预测值;[0194]在所述待编码点对应的编码顺序大于所述预设值的情况下,确定所述n个几何预测值与所述第一目标点云中的已编码点相关联。[0195]可选地,所述编码模块302包括:[0196]获取单元,用于在所述第一目标点云对应的第四标识参数用于表征混合编码的情况下,获取所述第四标识参数关联的第二参数值;[0197]划分单元,用于基于所述第二参数值,将所述第一目标点云划分为第一待编码点和第二待编码点;[0198]第二编码单元,用于使用不同的编码方式对所述第一待编码点和所述第二待编码点进行编码。[0199]可选地,所述第二编码单元具体用于:[0200]对所述第一待编码点进行多叉树编码,以及对所述第二待编码点进行几何预测编码,或者;[0201]对所述第一待编码点进行几何预测编码,以及对所述第二待编码点进行多叉树编码。[0202]可选地,所述划分单元,具体用于:[0203]将所述第一目标点云的第1个编码层至第m-1个编码层对应的待编码点,确定为所述第一待编码点;[0204]将所述第一目标点云的第m个编码层至第l个编码层对应的待编码点,确定为所述第二待编码点。[0205]可选地,所述编码模块302,具体用于:[0206]基于所述第一目标点云的待编码点对应的编码顺序,确定i个属性预测值;[0207]确定每一所述属性预测模式对应的率失真代价;[0208]对目标属性预测模式对应的第二预测残差进行熵编码。[0209]可选地,所述编码模块302,具体用于:[0210]基于所述第一目标点云的待编码点对应的几何信息,确定所述云的待编码点对应的目标编码点;[0211]根据所述目标编码点对应的属性信息,确定所述待编码点对应的i个属性预测值;[0212]确定每一所述属性预测模式对应的率失真代价;[0213]对目标属性预测模式对应的第二预测残差进行熵编码。[0214]本技术实施例提供的编码器能够实现图3的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。[0215]需要说明的是,本技术实施例提供的点云解码方法,执行主体可以为解码器,或者,该解码器中的用于执行点云解码的方法的控制模块。本技术实施例中以解码器执行点云解码方法为例,说明本技术实施例提供的解码器。[0216]如图9所示,解码器400包括:[0217]第二获取模块401,用于获取待解码的第二目标点云的第五标识参数;[0218]解码模块402,用于基于所述第五标识参数对所述第二目标点云执行解码操作。[0219]在本技术实施例中,基于第一目标点云的第一标识参数,对第一目标点云并行执行几何编码和属性预测编码,以此降低第一目标点云在属性编码过程中的时延。通过对第一目标点云的至少部分待编码点执行几何预测编码,而不是对第一目标点云的全部待编码点执行多叉树编码,进一步降低第一目标点云在几何编码过程中的时延。这样,通过降低第一目标点云在编码过程中的时延,提高第一目标点云的编码效率。[0220]本技术实施例中的编码器和解码器可以是装置,具有操作系统的装置或电子设备,也可以是终端中的部件、集成电路、或芯片。该装置或电子设备可以是移动终端,也可以为非移动终端。示例性的,移动终端可以包括但不限于上述所列举的终端11的类型,非移动终端可以为服务器、网络附属存储器(networkattachedstorage,nas)、个人计算机(personalcomputer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。[0221]本技术实施例提供的编码器能够实现图3的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。[0222]本技术实施例提供的解码器能够实现图7的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。[0223]可选地,如图10所示,本技术实施例还提供一种通信设备500,包括处理器501,存储器502,存储在存储器502上并可在所述处理器501上运行的程序或指令,例如,该通信设备500为终端时,该程序或指令被处理器501执行时实现上述点云编码方法实施例的各个过程,且能达到相同的技术效果,或实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果。[0224]本技术实施例还提供一种终端,包括处理器和通信接口,处理器用于执行以下操作:[0225]获取待编码的第一目标点云的第一标识参数;[0226]基于所述第一标识参数对所述第一目标点云执行编码操作;[0227]其中,所述编码操作包括以下至少一项:[0228]在所述第一标识参数用于表征并行编码的情况下,对所述第一目标点云并行执行几何编码和属性预测编码,得到所述第一目标点云的编码结果;[0229]对所述第一目标点云的至少部分待编码点执行几何预测编码。[0230]或者,处理器用于执行以下操作:[0231]获取待解码的第二目标点云的第五标识参数;[0232]基于所述第五标识参数对所述第二目标点云执行解码操作;[0233]其中,所述解码操作包括以下至少一项:[0234]在所述第五标识参数用于表征并行解码的情况下,对所述第二目标点云并行执行几何解码和属性预测解码,得到所述第二目标点云的解码结果;[0235]对所述第二目标点云的至少部分待解码点执行几何预测解码。[0236]该终端实施例是与上述终端侧方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该终端实施例中,且能达到相同的技术效果。具体地,图11为实现本技术实施例的一种终端的硬件结构示意图。[0237]该终端1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。[0238]本领域技术人员可以理解,终端1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图11中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。[0239]应理解的是,本技术实施例中,输入单元1004可以包括图形处理器(graphicsprocessingunit,gpu)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10071。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。[0240]本技术实施例中,射频单元1001将来自网络侧设备的下行数据接收后,给处理器1010处理;另外,将上行的数据发送给网络侧设备。通常,射频单元1001包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。[0241]存储器1009可用于存储软件程序或指令以及各种数据。存储器1009可主要包括存储程序或指令区和存储数据区,其中,存储程序或指令区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括高速随机存取存储器,还可以包括非易失性存储器,其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。[0242]处理器1010可包括一个或多个处理单元;可选的,处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序或指令等,调制解调处理器主要处理无线通信,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。[0243]其中,处理器用于执行以下操作:[0244]获取待编码的第一目标点云的第一标识参数;[0245]基于所述第一标识参数对所述第一目标点云执行编码操作;[0246]其中,所述编码操作包括以下至少一项:[0247]在所述第一标识参数用于表征并行编码的情况下,对所述第一目标点云并行执行几何编码和属性预测编码,得到所述第一目标点云的编码结果;[0248]对所述第一目标点云的至少部分待编码点执行几何预测编码。[0249]或者,处理器用于执行以下操作:[0250]获取待解码的第二目标点云的第五标识参数;[0251]基于所述第五标识参数对所述第二目标点云执行解码操作;[0252]其中,所述解码操作包括以下至少一项:[0253]在所述第五标识参数用于表征并行解码的情况下,对所述第二目标点云并行执行几何解码和属性预测解码,得到所述第二目标点云的解码结果;[0254]对所述第二目标点云的至少部分待解码点执行几何预测解码。[0255]本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述点云编码方法实施例的各个过程,或实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0256]其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等。[0257]本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述点云编码方法实施例的各个过程,或实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0258]应理解,本技术实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。[0259]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。[0260]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。[0261]上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1