CN116941242A - 帧内预测方法及装置、编解码器、设备、存储介质 - Google Patents

帧内预测方法及装置、编解码器、设备、存储介质 Download PDF

Info

Publication number
CN116941242A
CN116941242A CN202180095046.4A CN202180095046A CN116941242A CN 116941242 A CN116941242 A CN 116941242A CN 202180095046 A CN202180095046 A CN 202180095046A CN 116941242 A CN116941242 A CN 116941242A
Authority
CN
China
Prior art keywords
nodes
node
attribute
prediction
interpolation
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.)
Pending
Application number
CN202180095046.4A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN116941242A publication Critical patent/CN116941242A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding

Landscapes

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

Abstract

一种帧内预测方法及装置、编解码器、设备、存储介质;方法包括:根据当前节点的相邻节点,得到当前节点的预测节点(81,91);对当前节点的预测节点的属性值进行加权平均运算,得到当前节点的属性预测值(82,92);对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到不满足条件的预测节点的属性值,条件为在当前节点之前编码的非空节点,插值节点为不满足条件的预测节点的相邻节点;以及为满足条件的预测节点的属性值分配第一权重,为根据插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于第一权重和第二权重进行加权平均运算,第一权重和第二权重不同。

Description

帧内预测方法及装置、编解码器、设备、存储介质
相关申请的交叉引用
本申请基于申请号为202110241152.0、申请日为2021年03月04日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以全文引入的方式引入本申请。
技术领域
本申请实施例涉及点云处理技术,涉及但不限于帧内预测方法及装置、编解码器、设备、存储介质。
背景技术
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能够提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现和生物组织器官三维重建等。
伴随着应用需求的增长,海量三维(three Dimensional,3D)点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩主要分为几何压缩和属性压缩,其中属性压缩中的帧内预测(即节点的属性值预测)的准确性的高低,直接影响着编解码效率。
发明内容
本申请实施例提供的帧内预测方法及装置、编解码器、设备、存储介质,是这样实现的:
本申请实施例提供的一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种点云编码方法,所述方法包括:对点云的当前节点执行本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属 性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种编码装置,包括:帧内预测模块,用于执行本申请实施例所述的帧内预测方法中的步骤,得到当前节点的属性预测值;确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;编码模块,用于将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种编码器,所述编码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的编码侧的方法。
本申请实施例提供的一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种解码装置,包括:解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;帧内预测模块,用于执行解码端的帧内预测方法中的步骤,得到当前节点的属性预测值;解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种解码器,所述解码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行解码侧实施例所述的方法。
本申请实施例提供的一种电子设备,包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行本申请实施例所述的方法。
本申请实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的方法。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为三维点云图像和局部放大图的示意图;
图2为一幅点云图像及其对应的数据存储格式的示意图;
图3A为音视频编码标准(Audio Video Standard,AVS)点云压缩专题组所提供的点云压缩参考平台,也即点云参考模型(Point Cloud Reference Model,PCRM)的编码框架示意图;
图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架示意图;
图4A为将整幅点云放置在一个正方体包围盒的示意图;
图4B为对点云的八叉树划分过程示意图;
图5为莫顿码在二维空间中的编码顺序的示意图;
图6为莫顿码在三维空间中的编码顺序的示意图;
图7A为当前节点与其共面节点的示意图;
图7B为当前节点与其共线节点的示意图;
图7C为当前节点与其共点节点的示意图;
图8为本申请实施例帧内预测方法的实现流程示意图;
图9为本申请实施例帧内预测方法的实现流程示意图;
图10为当前节点的所有共面节点的示意图;
图11为不满足条件的共面节点的插值节点的示意图;
图12为本申请实施例帧内预测装置的结构示意图;
图13为本申请实施例编码装置的结构示意图;
图14为本申请实施例帧内预测装置的结构示意图;
图15为本申请实施例解码装置的结构示意图;
图16为本申请实施例的电子设备的硬件实体示意图;
图17为本申请实施例的编码器的硬件实体示意图;
图18为本申请实施例的解码器的硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在对本申请实施例进行进一步说明之前,对本申请实施例涉及的点云的数据形式、编解码框架和点云的规则化处理等进行说明。其中,本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
(1)点云的数据形式
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。举例来说,如图1所示,其中,101为三维点云图像。102为该点云图像的局部放大图,可以看到,点云表面是由分布稠密的点所组成的。
点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。每一个位置均有对应的属性信息,通常为红绿蓝(Red Green Blue,RGB)颜色值,颜色值反映的是物体的色彩;反射率(reflectance)也是比较常见的属性信息,反射率反映的是物体的表面材质。因此,点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
如图2所示为一幅点云图像及其对应的数据存储格式,其中,201提供了点云图像的六个观看角度;202展示了该点云图像的数据存储格式,由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容,如202中的点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维位置信息xyz和三维颜色信息rgb。
(2)点云压缩的相关介绍
点云的采集主要有以下途径:计算机生成、3D激光扫描和3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界中的三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据的获取方式的变革,使得大量点云数据的获取成为可能。然而,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有浮点型(float)的坐标信息xyz和uchar(unsigned char)类型的颜色信息RGB,则10秒(second,s)的点云视频的数据量大约为0.7million×(4Byte×3+1Byte×3)×30fps×10s=3.15GB,而YUV采样格式为4:2:0,帧率为24fps 的1280×720二维视频,其10s的数据量约为1280×720×12bit×24frames×10s≈0.33GB,10s的两视角3D视频的数据量约为0.33×2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为了更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩采用对点云几何信息和点云属性信息分别进行压缩的方式。在编码端,首先在几何编码器中编码点云几何信息,得到重建几何信息;然后将重建几何信息作为附加信息输入到属性编码器中,从而辅助点云属性信息的压缩;在解码端,首先在几何解码器中解码点云几何信息,然后将解码后的几何信息作为附加信息输入到属性解码器中,辅助点云属性信息的压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。
图3A为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的编码框架,图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架。
对于PCRM参考软件,如图3A所示,在编码端的几何编码部分,首先,对采集得到的几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点型转化为整型,得到规则化的几何信息,即得到规则化的点云空间,从而便于后续的规则化处理;然后,对规则化的几何信息进行几何编码。例如,在一些实施例中,可以采用八叉树结构对规则化的点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内没有点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码。
如图3A所示,通过八叉树结构表达的几何信息,一方面输入到几何熵编码器中形成几何码流,另一方面在编码器内进行几何重建处理,重建后的几何信息作为附加信息输入到属性编码器中。在属性编码部分,首先对采集得到的属性信息进行预处理,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色。此外,如果处理的属性信息为颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间;然后对预处理后的属性信息进行属性编码。在一些实施例中,对于属性编码,首先需要将点云进行重排序,重排序的方式是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点(当前节点)向前回溯一个点,找到的点为当前待编码点的预测参考点(预测节点),然后将预测参考点的属性重建值作为属性预测值,属性残差为当前待编码点的预处理后的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。
在解码端,如图3B所示,采用对几何码流和属性码流分别进行解码的方式。在几何码流的解码部分,首先对几何码流进行熵解码,得到每个节点的几何信息,然后按照与几何编码相同的方式构建八叉树结构,重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码后的几何信息,另一方面将解码后的几何信息作为附加信息输入到属性解码器中。在属性码流的解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后对残差信息进行反量化,得到残差值;类似地,按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码后的属性信息。
(3)点云的规则化处理
由于点云在空间中无规则分布的特性,给编码过程带来了挑战,因此采用递归八叉树的结构,将点云中的点规则化地表达成立方体的中心。如图4A所示,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x q,y q,z q),q=0,...,Q-1,其中,Q是点云的总点数,点云在x、y、z方向上的边界值,如下式(1)至式(6)所示,分别为:
x min=min(x 0,x 1,...x q-1) 式(1);
y min=min(y 0,y 1,...y q-1) 式(2);
z min=min(z 0,z 1,...z q-1) 式(3);
x max=max(x 0,x 1,...x q-1) 式(4);
y max=max(y 0,y 1,...y q-1) 式(5);
z max=max(z 0,z 1,...z q-1) 式(6);
则包围盒的原点(x origin,y origin,z origin)可以根据下式(7)至式(9)计算得到:
x origin=int(floor(x min)) 式(7);
y origin=int(floor(y min)) 式(8);
z origin=int(floor(z min)) 式(9);
包围盒在x、y、z方向上的尺寸可以根据下式(10)至式(12)计算得到:
BoudingBoxSize x=int(x max-x origin)+1 式(10);
BoudingBoxSize y=int(y max-y origin)+1 式(11);
BoudingBoxSize z=int(z max-z origin)+1 式(12);
然后,如图4B所示,首先对正方体包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(即包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作voxel,每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点(节点),该中心点的属性值取voxel中所有点的属性值的平均值(原始属性值)。
可以理解地,将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个voxel,即编码voxel所代表的点(或称“节点”)。一种常用的编码顺序为交叉分离式的莫顿顺序,图5展示了莫顿码在二维空间中的编码顺序,以8×8大小的块为例,其中箭头的顺序表示莫顿顺序下节点的编码顺序。501为块中2×2个像素的“z”字形莫顿编码顺序,502为4个2×2块之间的“z”字形莫顿编码顺序,503为4个4×4块之间的“z”字形莫顿编码顺序,组成为整个8×8块的莫顿编码顺序。扩展到三维空间中的莫顿编码顺序如图6所示,图中展示了16个节点,每个“z”字内部,每个“z”与“z”之间的莫顿编码顺序都是先沿x轴方向编码,再沿y轴,最后沿z轴。
(4)点云压缩中的属性帧内预测
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前节点的相邻节点对当前节点进行预测,根据属性预测值与当前节点的原始属性值计算残差信息后经量化等过程,将残差信息编入码流后传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前节点的属性重建值。
在此过程中,属性帧内预测利用节点与节点之间的几何关系,以当前节点的几何共面、共线节点作为预测节点,同时预测节点需要满足的条件是在当前节点之前编码,然后将权重值设为预测节点与当前节点的几何欧氏距离的倒数乘2,即共面节点权重为2,共线节点权重为1,计算所有预测节点的属性重建值的加权平均值为属性预测值(特别地,对于编码的第一个节点,没有参考点进行预测,其属性预测值直接设为0)。根据以下这两个条件确定预测节点,即:
条件a)与当前节点满足共面和/或共线关系;
条件b)在当前节点之前编码。
如图7A至7C所示,假设当前节点O的序号为7,共有6个面,12条边,8个顶点,如图7A所示,共面节点有3、5、6、14、21和35;如图7B所示,共线节点有1、2、4、10、12、17、20、28、33、34、42和49;如图7C所示,共点节点有0、8、16、24、32、40、48和56。
在所有这些共面节点和共线节点中,无论当前节点的位置如何,始终满足“在当前节点之前编码”条件的节点为共面节点3、5和6以及共线节点1、2和4,因此预测节点为共面节点3、5和6以及共线节点1、2和4,根据下式(13)计算得到当前节点的属性预测值为所有预测节点的属性重建值的加权平均值:
其中, 为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
假设所有预测节点都为空节点,则直接以当前节点的莫顿前序点(即莫顿编码顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值。
(5)属性帧内预测在点云编码框架中的位置
如图3A和图3B所示,该技术作用于PCRM点云编码框架中的帧内预测部分,对编码端和解码端同时作用,由于相关PCRM的编解码框架仅涉及单帧,因此属性预测特指帧内预测。
PCRM的属性编码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个 voxel中的节点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个节点执行如下的a1)、c1)、d1)过程,对于其余节点执行b1)、c1)、d1)过程:
a1)当前节点为编码的第一个节点时,此时没有参考点进行预测,其属性预测值直接设为0;
b1)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(14)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
其中, 为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c1)残差为当前点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
d1)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值用来作为后续编码单元的参考信息。
PCRM的属性解码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a2)、c2)过程,其余点执行b2)、c2)过程:
a2)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b2)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(15)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
其中, 为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c2)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值可以用来作为后续编码单元的参考信息。
然而,PCRM所采用的上述帧内预测方法,局部使用到了当前节点周围的参考信息,仅以当前节点的左、前和下方的共面节点以及共线节点作为预测节点,无法使用到来自其右、后、上方的参考信息,从而导致帧内预测不够准确,进而影响到编码效率的提升。
有鉴于此,本申请实施例提供一种帧内预测方法,所述方法适用于编码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有编码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图8为本申请实施例帧内预测方法的实现流程示意图,如图8所示,所述方法可以包括以下步骤81至步骤82:
步骤81,根据当前节点的相邻节点,得到所述当前节点的预测节点。
在本申请实施例中,对于相邻节点是当前节点的何种节点不做限定。在一些实施例中,相邻节点可以包括当前节点的共面节点,从当前节点的共面节点中,确定K个预测节点。例如,当前节点的共面节点包括当前节点的6个共面节点。当前节点的预测节点可以是这6个共面节点,也可以是这6个共面节点中的部分节点。
当然,在另一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。例如,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。例如,电子设备可以从3个共面节点、9个共线节点和7个共点节点中确定预测节点;又如,电子设备还可以从3个共面节点和9个共线节点中确定预测节点;再如,电子设备还可以从3个共面节点和7个共点节点中确定预测节点。在此不再进行穷举。在一些实施例中,所述3个共面节点为满足条件的节点。
具体地,在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,并进一步 地将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点(这里记为第二数目),此时若第一数目和第二数目的加和仍然小于K,填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值,例如,可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
进一步地,在一些实施例中,在将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点时,优先将可插值得到的共面节点作为所述预测节点。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目大于K,取其中的K个任意相邻节点作为预测节点,或者,按照特定编码顺序,取前K个满足所述条件的相邻节点作为预测节点,或者,按照特定编码顺序,取最后K个满足所述条件的相邻节点作为预测节点。若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目大于K与第一数目的差值(记为Δ),则从这些不满足所述条件的相邻节点中选取任意Δ个作为预测节点,从而选够K个预测节点。当然,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目小于K与第一数目的差值(记为Δ),将这些不满足所述条件的相邻节点作为预测节点,并填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
对于上述选取哪些相邻节点作为预测节点的方案,在一些实施例中,也可以设定相邻节点的选取优先级。例如,共面节点的优先级高于共线节点的优先级,共线节点的优先级高于共点节点的优先级。也就是说,优先选取共面节点作为预测节点,在此情况下,如果还不够K个,则优先选取共线节点作为预测节点,在此情况下,如果仍然不够K个,则从共点节点中继续选取预测节点,当然如果还不够K个,则可以填充至K个,填充的预测节点的属性值可以是任意值,这里不再重复举例。
当然,在一些实施例中,对于步骤81的进一步实施例,也不限定要得到固定数目的预测节点,可以将当前节点的相邻节点中满足所述条件的相邻节点和插值可得到的不满足所述条件的相邻节点作为预测节点。
步骤82,对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在本申请实施例中,对于第一权重和第二权重的数值不做限定,可以是任意正数。在一些实施例中,所述第一权重大于所述第二权重。例如,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。其中,加权平均运算时,用以加权平均运算的插值节点的属性重建值的权重可以均为1,或者为不同的权重。
在本申请实施例中,填充的方式可以是多种多样的,即填充值可以是多种多样的。例如,可以是所述填充的插值节点代替的不满足所述条件的插值节点的相邻节点的属性重建值的平均值,还可以是固定常数,该固定常数可以是一经验值。又如,在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填 充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
相应地,本申请实施例提供一种帧内预测方法,该方法适用于解码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有解码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图9为本申请实施例帧内预测方法的实现流程示意图,如图9所示,该方法可以包括以下步骤91至步骤92:
步骤91,根据当前节点的相邻节点,得到所述当前节点的预测节点。
在本申请实施例中,对于相邻节点是当前节点的何种节点不做限定。在一些实施例中,相邻节点可以包括当前节点的共面节点,从当前节点的共面节点中,确定K个预测节点。例如,当前节点的共面节点包括当前节点的6个共面节点。当前节点的预测节点可以是这6个共面节点,也可以是这6个共面节点中的部分节点。
当然,在另一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。例如,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。例如,电子设备可以从3个共面节点、9个共线节点和7个共点节点中确定预测节点;又如,电子设备还可以从3个共面节点和9个共线节点中确定预测节点;再如,电子设备还可以从3个共面节点和7个共点节点中确定预测节点。在此不再进行穷举。在一些实施例中,所述3个共面节点为满足条件的节点。
进一步地,在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,并进一步地将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点(这里记为第二数目),此时若第一数目和第二数目的加和仍然小于K,填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
进一步地,在一些实施例中,在将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点时,优先将可插值得到的共面节点作为所述预测节点。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点。在一些实施例中,若满足所述条件的相邻节点的数目大于K,取其中的K个任意相邻节点作为预测节点;或者,按照特定编码顺序,取前K个满足所述条件的相邻节点作为预测节点;或者,按照特定编码顺序,取最后K个满足所述条件的相邻节点作为预测节点。若满足所述条件的相邻节点的数目(为便于描述记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目大于K与第一数目的差值(记为Δ),则从这些不满足所述条件的相邻节点中选取任意Δ个作为预测节点,从而选够K个预测节点。当然,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目小于K与第一数目的差值(记为Δ),将这些不满足所述条件的相邻节点作为预测节点,并填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值;又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
对于上述选取哪些相邻节点作为预测节点的方案,在一些实施例中,也可以设定相邻节点的选取优 先级。例如,共面节点的优先级高于共线节点的优先级,共线节点的优先级高于共点节点的优先级。也就是说,优先选取共面节点作为预测节点,在此情况下,如果还不够K个,则优先选取共线节点作为预测节点,在此情况下,如果仍然不够K个,则从共点节点中继续选取预测节点,当然如果还不够K个,则可以填充至K个,填充的预测节点的属性值可以是任意值,这里不再重复举例。
当然,在一些实施例中,对于步骤81的进一步实施例,也不限定要得到固定数目的预测节点,可以将当前节点的相邻节点中满足所述条件的相邻节点和插值可得到的不满足所述条件的相邻节点作为预测节点。
步骤92,对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同,或者是相同的。
在一些实施例中,所述第一权重大于所述第二权重。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
需要说明的是,以上解码端的帧内预测方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同编码端的帧内预测方法实施例相似的有益效果。对于本申请解码端的帧内预测方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
本申请实施例提供一种点云编码方法,所述方法包括:对点云的当前节点执行如编码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
需要说明的是,以上编码方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请编码方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
本申请实施例提供一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如解码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
需要说明的是,以上解码方法的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请解码方法实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
还需要说明的是,对本申请实施例的技术方案适用的平台类型不做限定,本申请实施例的技术方案 不仅适用于点云压缩参考平台PCRM,还适用于其他各种类型的点云压缩参考平台。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例的技术方案在编解码端均实行,在进行帧内预测时实行本申请实施例的技术方案,针对所有点,本技术方案提出一种基于插值过程的帧内预测增强算法。
首先需要定义的概念是预测节点的“可得性”,对于编码端,当当前节点的预测节点既能在当前节点之前编码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。对于解码端,当当前节点的预测节点既能在当前节点之前解码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。
在编码端帧内预测部分的一种实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a3)、e3)和f3)过程,其余点执行b3)、c3)、d3)、e3)和f3)过程:
a3)当前节点为编码的第一个节点时,没有参考点进行预测,该当前节点的属性预测值直接设为0;
b3)如图10所示,在当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点,当预测节点可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得时且为共面节点时,执行步骤c3)以插值出不可得预测节点的属性值;
c3)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值,插值得到不可得预测节点的属性值,插值方法下式(16)所示,根据该式计算所有插值节点的属性重建值的加权平均值。其中,不可得预测节点的插值节点如图11所示。
其中, 为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得预测节点的所有插值节点都不可得时,则插值失败,此不可得预测节点的权重为0;
当∑ j=Rw j为2的幂次时,公式(16)的除法可用移位操作替代,以减少时间复杂度。
d3)根据下式(17),计算所有预测节点的属性值的加权平均值作为当前节点的属性预测值:
其中, 为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。在另一些实施例中,当预测节点为可得的3、5、6时w i=2;当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不满足条件的共面节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e3)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
f3)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值作为后续编码单元的参考信息。
在解码端的帧内预测实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程,从而计算得到属性预测值,对于解码的第一个节点执行以下a4)和e4)过程,其余点执行以下b4)、c4)、d4)和e4)过程:
a4)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b4)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点,当预测节点 可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c4)以插值出不可得预测节点的属性值;
c4)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得预测节点的属性值,插值方法如下式(18)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中, 为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得预测节点的所有插值节点都不可得时,则插值失败,此不可得预测节点的权重为0;
当∑ j=Rw j为2的幂次时,公式(18)的除法可用移位操作替代,以减少时间复杂度。
d4)根据下式(19)计算所有预测节点的属性值的加权平均值,该值作为当前节点的属性预测值:
其中, 为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。在一些实施例中,当预测节点为可得的3、5、6时w i=2;当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码完成)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e4)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
需要说明的是,上述实施例1的技术方案作用在图3A和3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
本技术方案在编码端帧内预测部分另一种实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a5)、e5)和f5)过程,其余点执行b5)、c5)、d5)、e5)和f5)过程:
a5)当前节点为编码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b5)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点;当预测节点可得时,属性值参考可得的预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c5)以插值出不可得的预测节点的属性值;
c5)通过不可得的预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得的预测节点的属性值,插值方法如下式(20)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中, 为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得的预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得的预测节点的所有插值节点都不可得时,则插值失败,此不可得的预测节点的权重为0;
当∑ j=Rw j=3时,则以当前不可得的预测节点的最后一个插值节点作为填充值,使得∑ j=Rw j=4;例如公式(20),当前不可得的预测节点为i=3,可得的插值节点为1、2和10,则以插值节点10的属性重建值作为填充值。当然,也可以以固定常数、或者周围节点的平均值等来进行填充。
当∑ j=Rw j为2的幂次时,公式(20)的除法可用移位操作替代,以减少时间复杂度。
d5)根据下式(21)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
其中, 为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。在一些实施例中,当预测节点为可得的3、5、6时w i=2;当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e5)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
f5)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值作为后续编码单元的参考信息。
本技术方案在解码端帧内预测实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a6)和e6)过程,其余点执行b6)、c6)、d6)、和e6)过程:
a6)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b6)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点;当预测节点可得时,属性值参考可得的预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c6)的插值出不可得的预测节点的属性值;
c6)通过不可得的预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得的预测节点的属性值,插值方法如下式(22)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中, 为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得的预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得的预测节点的所有插值节点都不可得时,则插值失败,此不可得的预测节点的权重为0;
当∑ j=Rw j=3时,则以当前不可得的预测节点的最后一个插值节点作为填充值,使得∑ j=Rw j=4;例如公式(22),当前不可得的预测节点为i=3,可得的插值节点为1、2和10,则以插值节点10的属性重建值作为填充值。当然,也可以以固定常数、或者周围节点的平均值等来进行填充。
当∑ j=Rw j为2的幂次时,公式(22)的除法可用移位操作替代,以减少时间复杂度。
d6)根据下式(23)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
其中, 为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。在一些实施例中,当预测节点为可得的3、5、6时w i=2;当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
f6)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
实施例2的技术方案作用在图3A和图3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术的预测节点的确定范围,即预测节点的选择范围,包括但不限于6个共面节点,选择范围还可以是3个共面节点、9个共线节点和7个共点节点,选择范围还可以是3个共面节点和9个共线节点,或者选择范围还可以是3个共面节点和7个共点节点;
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
基于插值过程的帧内预测增强技术可以采用多种填充方法,包括但不限于填充第一个节点的属性值、填充固定常数、填充周围点的平均值等。其中K的取值可以为任意常数,若K为2的幂次,在编解码的步骤e5)和e6)计算当前节点的属性预测值时,除法可以采用二进制的移位操作。
本申请实施例的技术方案可以适用于帧内预测的编解码部分,充分利用到当前节点周围的参考信息,使用插值算法推导出当前节点的不可得的预测节点的重建属性值,优化帧内预测方案,提高帧内预测的准确性,从而能够提升编码效率。
本申请实施例的技术方案在AVS最新的点云压缩平台PCRM2.0上进行了测试,在实施例1所描述的算法下取得的测试结果如表1至4所示,这里w i=1;在实施例2所描述的算法下取得的测试结果如表5至8所示,这里w i=1。
其中,表1示出了实施例1在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表1所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了5.3%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了11.2%。
表1 C1-limit-lossy geometry lossy attributes
表2示出了实施例1在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表2所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了1.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了11.2%。
表2 C2-lossless geometry,lossy attributes
表3示出了实施例1在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表3所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Cb属性上,EtE BD-rate相比于PCRM基准平台的性能改善了0.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了10.2%。
表3 C3-lossless geometry,limit-lossy attributes
表4示出了实施例1在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表4所示,相比于PCRM基准平台的性能,实施例1在颜色属性上的bpip ratio有改善。例如,对于Cat1B的测试结果,bpip ratio是PCRM基准平台的输出的比特流的99.7%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了0.3%。又如,对于Cat3的测试结果,bpip ratio是PCRM基准平台的输出的比特流的98.5%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了1.5%。可见,实施例1能够通过更少的码字获得更好的失真。
表4 C4-lossless geometry,lossless attributes
表5示出了实施例2在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表5 C1-limit-lossy geometry,lossy attributes
表6示出了实施例2在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果
表6 C2-lossless geometry,lossy attributes
表7示出了实施例2在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表7 C3-lossless geometry,limit-lossy attributes
表8示出了实施例2在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表8 C4-lossless geometry,lossless attributes
从上表中可以看出,在两个实施例下相比于PCRM基准平台,都具有明显的性能提升。
本申请实施例的技术方案提出在帧内预测过程中,使用插值算法推导出当前节点的预测节点属性值,优化帧内预测方案,提高帧内预测的准确性,有效提升编码效率;其中,关键在于:
(1)提出从当前节点的六个共面节点中选择预测节点;
(2)提出采用插值方法获得不可得的预测节点的属性值;
(3)提出采用当前节点的共线节点来插值得到当前节点的不可得的预测节点;
(4)提出当可得的插值节点数为3时,将插值节点数填充为4个,以方便后续将除法改为移位操作;
(5)提出当插值节点数为2的幂次时,将除法用移位操作替换。
在一些实施例中,改变上述实施例中基于插值过程的帧内预测增强技术的预测节点确定范围,如6个共面节点,或,3个共面节点、9个共线节点和7个共点节点,或,3个共面节点和9个共线节点,或,3个共面节点和7个共点节点。
在一些实施例中,将实施例1中采用加权平均的插值方法改为其他生成插值的方法,如临近点拷贝、填充固定值等;
在一些实施例中,将实施例1中的常数权重值设为其他值,如基于欧式距离的权重等;
在一些实施例中,将实施例2中采用当前不可得预测节点的最后一个共面插值节点的属性重建值填充的方法,或者固定值填充、平均值填充、临近点填充等。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图12为本申请实施例帧内预测装置的结构示意图,如图12所示,所述装置12包括获得模块121和预测模块122,其中:
获得模块121,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
预测模块122,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在一些实施例中,所述第一权重大于所述第二权重;如此,能够提高帧内预测的准确性,进而提高点云的编码效率。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值;如此,使得插值得到的所述不满足条件的预测节点的属性值更准确,从而能够提高帧内预测的准确性,进而提高点云的编码效率。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插 值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数;如此,在进行加权平均运算时,由于分母是2的n次方,因此能够通过简单的移位操作实现除法运算,从而降低运算复杂度,进而提高编码效率。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的;如此,能够提高所述不满足条件的预测节点的属性值的准确性,从而提高当前节点的属性预测值的准确性,进而减小残差值,减小传输码流的占用带宽。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值;如此,无需相比于使用其他满足所述条件的插值节点的属性重建值作为填充值,无需进行查找,从而节约查找操作,提高编码效率。
在一些实施例中,所述相邻节点包括共面节点。
在一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点;如此,扩大了预测节点的可选范围,从而增加了获得更多的预测节点的可能性,进而提高当前节点的属性预测值的准确性,减小残差值,减小传输码流的占用带宽。
在一些实施例中,所述相邻节点包括6个共面节点。
在一些实施例中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48;由于这些节点为满足所述条件的节点的可能性较大,因此从这些节点中能够选出更具有参考价值的预测节点,从而提高当前节点的属性预测值。
以上装置12的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的编码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图13为本申请实施例编码装置的结构示意图,如图13所示,所述装置13包括:帧内预测模块131、确定模块132和编码模块133;其中,
帧内预测模块131,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;以及对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同;
确定模块132,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
编码模块133,用于将所述当前节点的残差编码为属性码流。
以上装置13的实施例的描述,与上述装置12实施例和上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编 程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图14为本申请实施例帧内预测装置的结构示意图,如图14所示,所述装置14包括获得模块141和预测模块142,其中:
获得模块141,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
预测模块142,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在一些实施例中,所述第一权重大于所述第二权重;如此,能够提高帧内预测的准确性,进而提高点云的解码效率。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值;如此,使得插值得到的所述不满足条件的预测节点的属性值更准确,从而能够提高帧内预测的准确性,进而提高点云的解码效率。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数;如此,在进行加权平均运算时,由于分母是2的n次方,因此能够通过简单的移位操作实现除法运算,从而降低运算复杂度,进而提高解码效率。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的;如此,能够提高所述不满足条件的预测节点的属性值的准确性,从而提高当前节点的属性预测值的准确性,进而提高解码效率。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值;如此,无需相比于使用其他满足所述条件的插值节点的属性重建值作为填充值,无需进行查找,从而节约查找操作,提高解码效率。
在一些实施例中,所述相邻节点包括共面节点。
在一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点;如此,扩大了预测节点的可选范围,从而增加了获得更多的预测节点的可能性,进而提高当前节点的属性预测值的准确性,提高解码效率。
在一些实施例中,所述相邻节点包括6个共面节点。
在一些实施例中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48;由于这些节点为满足所述条件的节点的可能性较大,因此从这些节点中能够选出更具有参考价值的预测节点,从而提高当前节点的属性预测值。
以上装置14的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预 测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的解码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图15为本申请实施例解码装置的结构示意图,如图15所示,所述装置15包括:解析模块151、帧内预测模块152和解码模块153;其中,
解析模块151,用于对接收的属性码流进行解析,得到当前节点的残差;
帧内预测模块152,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;以及对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
解码模块153,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
以上装置15的实施例的描述,与上述装置14实施例和上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的帧内预测方法、编码方法或解码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图16为本申请实施例的电子设备的硬件实体示意图,如图16所示,所述电子设备16包括存储器161和处理器162,所述存储器161存储有可在处理器162上运行的计算机程序,所述处理器162执行所述程序时实现上述实施例中提供的方法中的步骤。
本申请实施例一种编码器,图17为本申请实施例的编码器的硬件实体示意图,所述编码器17包括存储器171和处理器172;其中,所述存储器171,用于存储能够在所述处理器172上运行的计算机程序;所述处理器172,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
本申请实施例一种解码器,图18为本申请实施例的解码器的硬件实体示意图,所述解码器18包括存储器181和处理器182;其中,所述存储器181,用于存储能够在所述处理器182上运行的计算机程序;所述处理器182,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
需要说明的是,存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及相应设备中各模块待处理或已经处理的数据(例如,点云数据、图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
这里需要指出的是:以上电子设备、编码器、解码器和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请电子设备、编码器、解码器和存储介质实施例中未披露的技术细节,可以参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”或“另一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”或“在另一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下, 由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其他形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备或编码器或解码器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (38)

  1. 一种帧内预测方法,所述方法包括:
    根据当前节点的相邻节点,得到所述当前节点的预测节点;
    对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
    其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
    为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
  2. 根据权利要求1所述的方法,其中,所述第一权重大于所述第二权重。
  3. 根据权利要求2所述的方法,其中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
  4. 根据权利要求1所述的方法,其中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:
    对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;
    其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
  5. 根据权利要求4所述的方法,其中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:
    若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
  6. 根据权利要求4或5所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;
    所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
  7. 根据权利要求4或5所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;
    所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
  8. 根据权利要求4所述的方法,其中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
  9. 根据权利要求8所述的方法,其中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:
    将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
  10. 根据权利要求1至9任一项所述的方法,其中,所述相邻节点包括共面节点。
  11. 根据权利要求1至9任一项所述的方法,其中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。
  12. 根据权利要求10所述的方法,其中,所述相邻节点包括6个共面节点。
  13. 根据权利要求11所述的方法,其中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
  14. 根据权利要求13所述的方法,其中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
  15. 一种点云编码方法,所述方法包括:
    对点云的当前节点执行如权利要求1至14任一项所述的方法中的步骤,得到所述当前节点的属性预测值;
    确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
    将所述当前节点的残差编码为属性码流。
  16. 一种帧内预测方法,所述方法包括:
    根据当前节点的相邻节点,得到所述当前节点的预测节点;
    对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
    其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
    为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
  17. 根据权利要求16所述的方法,其中,所述第一权重大于所述第二权重。
  18. 根据权利要求17所述的方法,其中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
  19. 根据权利要求16所述的方法,其中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:
    对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;
    其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
  20. 根据权利要求19所述的方法,其中,在所述对所述插值节点的属性重建值进行平均运算之前,所述方法还包括:
    若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
  21. 根据权利要求19或20所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;
    所述方法还包括:
    若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
  22. 根据权利要求19或20所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;
    所述方法还包括:
    若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
  23. 根据权利要求19所述的方法,其中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
  24. 根据权利要求23所述的方法,其中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:
    将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
  25. 根据权利要求16至24任一项所述的方法,其中,所述相邻节点包括共面节点。
  26. 根据权利要求16至24任一项所述的方法,其中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。
  27. 根据权利要求25所述的方法,其中,所述相邻节点包括6个共面节点。
  28. 根据权利要求26所述的方法,其中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
  29. 根据权利要求28所述的方法,其中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
  30. 一种点云解码方法,所述方法包括:
    对接收的属性码流进行解析,得到当前节点的残差;
    对所述当前节点执行如权利要求16至29任一项所述的方法中的步骤,得到所述当前节点的属性预测值;
    根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  31. 一种帧内预测装置,包括:
    获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
    预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
    其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
    为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
  32. 一种编码装置,包括:
    帧内预测模块,用于执行如权利要求1至14任一项所述的帧内预测方法中的步骤,得到当前节点的属性预测值;
    确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
    编码模块,用于将所述当前节点的残差编码为属性码流。
  33. 一种编码器,所述编码器包括存储器和处理器;
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至14任一项所述的帧内预测方法,或者执行如权利要求15所述的方法。
  34. 一种帧内预测装置,包括:
    获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
    预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
    其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
    为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
  35. 一种解码装置,包括:
    解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;
    帧内预测模块,用于执行权利要求16至29任一项所述的帧内预测方法中的步骤,得到当前节点的属性预测值;
    解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  36. 一种解码器,所述解码器包括存储器和处理器;
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求16至29任一项所述的帧内预测方法,或者执行如权利要求30所述的方法。
  37. 一种电子设备,包括存储器和处理器;
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至14任一项所述的帧内预测方法,或者执行如权利要求15所述的点云编码方法,或者执行如权利要求16至29任一项所述的帧内预测方法,或者执行如权利要求30所述的点云解码方法。
  38. 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至14任一项所述的帧内预测方法,或者,该计算机程序被处理器执行时实现权利要求15所述的点云编码方法,或者,该计算机程序被处理器执行时实现如权利要求16至29任一项所述的帧内预测方法,该计算机程序被处理器执行时实现权利要求30所述的点云解码方法。
CN202180095046.4A 2021-03-04 2021-05-31 帧内预测方法及装置、编解码器、设备、存储介质 Pending CN116941242A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2021102411520 2021-03-04
CN202110241152 2021-03-04
PCT/CN2021/097447 WO2022183611A1 (zh) 2021-03-04 2021-05-31 帧内预测方法及装置、编解码器、设备、存储介质

Publications (1)

Publication Number Publication Date
CN116941242A true CN116941242A (zh) 2023-10-24

Family

ID=83153830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095046.4A Pending CN116941242A (zh) 2021-03-04 2021-05-31 帧内预测方法及装置、编解码器、设备、存储介质

Country Status (2)

Country Link
CN (1) CN116941242A (zh)
WO (1) WO2022183611A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163249B (zh) * 2007-11-20 2010-07-21 北京工业大学 直流模式预测方法
CN117395406A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
CN109889840B (zh) * 2019-03-20 2022-11-22 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
CN110418135B (zh) * 2019-08-05 2022-05-27 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN110572655B (zh) * 2019-09-30 2023-01-10 北京大学深圳研究生院 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备

Also Published As

Publication number Publication date
WO2022183611A1 (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
EP3922035A1 (en) Point cloud geometry padding
JP2015504545A (ja) 予測位置符号化
KR20140089426A (ko) 예측성 위치 디코딩
US11711535B2 (en) Video-based point cloud compression model to world signaling information
KR20230060534A (ko) 2차원 정규화 평면 투사에 기초한 포인트 클라우드 인코딩 및 디코딩 방법과 장치
WO2022067790A1 (zh) 一种点云分层方法及解码器、编码器、存储介质
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
CN116941242A (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022116122A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022257143A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2023023914A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
US20230334719A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065269A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065272A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
EP4358519A1 (en) Point cloud data transmission device and method, and point cloud data reception device and method
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination