CN117693936A - 用于点云编解码的方法、装置和介质 - Google Patents
用于点云编解码的方法、装置和介质 Download PDFInfo
- Publication number
- CN117693936A CN117693936A CN202280047850.XA CN202280047850A CN117693936A CN 117693936 A CN117693936 A CN 117693936A CN 202280047850 A CN202280047850 A CN 202280047850A CN 117693936 A CN117693936 A CN 117693936A
- Authority
- CN
- China
- Prior art keywords
- point
- point cloud
- points
- current frame
- frame
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 309
- 230000033001 locomotion Effects 0.000 claims abstract description 121
- 238000006243 chemical reaction Methods 0.000 claims abstract description 47
- 230000007704 transition Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 29
- 239000000523 sample Substances 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 13
- 239000013074 reference sample Substances 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 18
- 230000009466 transformation Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的实施例提供了一种用于点云编解码的方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于第二组阈值将当前帧中的目标点分类至第一组类别,第二组中的阈值的数目大于第一组中的类别的数目;以及基于分类执行转换。与常规的解决方案相比,所提出的方法可以有利地提高全局运动估计的准确性和编解码质量。
Description
技术领域
本公开的实施例一般涉及点云编解码技术,并且更具体地,涉及用于基于分类的点云编解码的全局运动估计方法。
技术背景
点云是三维(3D)平面中单个数据点的集合,每一个点在X、Y和Z轴上具有设定坐标。因此,点云被用于表示三维空间的物理内容。点云已被证明是一种很有前景的3D视觉数据表示方式,适用于从增强现实到自动驾驶汽车的广泛沉浸式应用。
点云编解码标准主要是通过著名的MPEG组织的发展而演变而来的。MPEG是移动图像专家组(Moving Picture Experts Group)的简称,其是处理多媒体的主要标准化小组之一。2017年,MPEG 3D图形编解码小组(3DG)发布了一份提案征集(CFP)文件,以开始发展点云编解码标准。最终标准将囊括两种类别的解决方案。基于视频的点云压缩(V-PCC或VPCC)适用于点分布相对均匀的点集。基于几何的点云压缩(G-PCC或GPCC)适用于更稀疏的分布。然而,常规点云编解码技术的编解码效率通常有望进一步提高。
发明内容
在第一方面,提出了一种用于点云编解码的方法,包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于第二组阈值将当前帧中的目标点分类至第一组类别,第二组中的阈值的数目大于第一组中的类别的数目;以及基于分类执行转换。
根据本公开的第一方面的方法增加了用于对帧中的点分类的阈值的数目。与阈值的数目等于类别的数目的常规解决方案相比,所提出的方法能够有利地进行点的更精确的分类,从而提高全局运动估计和编解码质量的准确性。
在第二方面,提出了另一种用于点云编解码的方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于第二组阈值将当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列的另一帧被生成;以及基于分类执行转换。
根据本公开的第二方面的方法,除了当前帧之外,点云序列的另一帧还被使用以生成用于对点分类的阈值。与仅使用当前帧来生成阈值的常规解决方案相比,所提出的方法可以有利地生成更合理的阈值,从而能够更准确地对点分类,从而提高全局运动估计和编解码质量的准确性。
在第三方面,提出了另一种用于点云编解码的方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于第二组阈值将当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成,直方图基于点的特性被生成;以及基于分类执行转换。
根据本公开的第三方面的方法,考虑了用于生成点的几何特征的直方图的点的特性。与常规解决方案相比,所提出的方法可以有利地生成更合理的阈值,从而能够更准确地对点分类,从而提高全局运动估计的准确性和编解码质量。
在第四方面,提出了另一种用于点云编解码方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于一组平面区域将当前帧中的至少部分点分类,一组平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度;以及基于分类执行转换。
根据本公开的第四方面的方法利用平面区域作为处理单元来执行分类过程。与使用块的常规解决方案相比,所提出的方法可以有利地减少分类过程中的迭代次数,从而降低分类过程的复杂性,提高编解码效率。
在第五方面,提出了另一种用于点云编解码方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,将当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;以及基于一组参考样本执行转换。
根据本公开的第五方面的方法,参考样本由基于分类到同一类别的参考点生成。因此,所提出的方法可以有利地避免全局运动估计中的失配,从而提高全局运动估计的准确性和编解码质量。
在第六方面,提出了另一种用于点云编解码方法。该方法包括:在点云序列的当前帧和点云序列的码流之间的转换期间,基于当前帧的多个参考帧,确定针对当前帧的全局运动信息;以及基于全局运动信息执行转换。
根据本公开的第六方面的方法,全局运动估计在具有多于一个参考帧的帧上被执行。与仅使用一个参考帧的常规解决方案相比,所提出的方法可以有利地提高全局运动估计的准确性和编解码质量。
在第七方面,提出了一种用于处理点云数据的装置。该装置包括处理器和在其上具有指令的非暂态存储器。该指令在由处理器执行时使处理器执行根据本公开的第一、第二、第三、第四、第五或第六方面的方法。
在第八方面,提出了一种非暂态计算机可读存储介质。该非暂态计算机可读存储介质存储使处理器执行根据本公开的第一、第二、第三、第四、第五或第六方面的方法的指令。
在第九方面,提出了一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目大于第一组中的类别的数目;以及基于分类生成码流。
在第十方面,提出了一种用于存储点云序列的码流的方法。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目大于第一组中的类别的数目;基于分类生成码流;以及将码流存储在非暂态计算机可读记录介质中。
在第十一方面,提出了另一种非暂态计算机可读记录介质,该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列的另一帧被生成;以及基于分类生成码流。
在第十二方面中,提出了另一种用于存储点云序列的码流的方法。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列的另一帧被生成;基于分类生成码流;以及将码流存储在非暂态计算机可读记录介质中。
在第十三方面中,提出了另一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成,直方图基于点的特性被生成;以及基于分类生成码流。
在第十四方面,提出了另一种用于存储点云序列的码流的方法。该方法包括:基于第二组阈值将点云序列的当前帧中的目标点分类至第一组类别,第二组中的阈值的数目等于第一组中的类别的数目,第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成,直方图基于点的特性被生成;基于分类生成码流;以及将码流存储在非暂态计算机可读记录介质中。
在第十五方面中,提出了另一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:基于一组平面区域将点云序列的当前帧中的至少部分点分类,一组平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度;以及基于分类生成码流。
在第十六方面,提出了另一种用于存储点云序列码流的方法。该方法包括:基于一组平面区域将点云序列的当前帧中的至少部分点分类,一组平面区域中的每一个是三维的并且具有的高度等于当前帧的边界框的高度;基于分类生成码流;以及将码流存储在非暂态计算机可读记录介质中。
在第十七方面,提出了另一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:将点云序列的当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;以及基于一组参考样本生成码流。
在第十八方面,提出了另一种用于存储点云序列的码流的方法。该方法包括:将点云序列的当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;基于一组参考样本生成码流;以及将码流存储在非暂态计算机可读记录介质中。
在第十九方面,提出了另一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储点云序列的通过由点云处理装置执行的方法生成的码流。该方法包括:基于点云序列的当前帧的多个参考帧,确定针对当前帧的全局运动信息;以及基于全局运动信息生成码流。
在第二十方面,提出另一种用于存储点云序列的码流的方法。该方法包括:基于点云序列的当前帧的多个参考帧,确定针对当前帧的全局运动信息;基于全局运动信息生成码流;以及将码流存储在非暂态计算机可读记录介质中。
提供本发明内容是为了以简化的形式介绍以下在具体实施例中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1是示出可利用本公开的技术的示例点云编解码系统的框图;
图2示出了根据本公开的一些实施例的示例点云编码器的框图;
图3示出了根据本公开的一些实施例的示例点云解码器的框图;
图4是示出点云中的平面区域和块的示例的示意图;
图5是示出针对点云的生成块的示例的示意图;
图6是示出针对当前块的生成参考块的示例的示意图;
图7是示出针对点云的生成平面区域的示例的示意图;
图8是示出针对当前平面区域的生成参考平面区域的示例的示意图;
图9示出了根据本公开的一些实施例的用于点云编解码的方法的流程图;
图10示出了根据本公开的一些实施例的用于点云编解码的方法的另一流程图;
图11示出了根据本公开的一些实施例的用于点云编解码的方法的另一流程图;
图12示出了根据本公开的一些实施例的用于点云编解码的方法的另一流程图;
图13示出了根据本公开的一些实施例的用于点云编解码的方法的另一流程图;
图14示出了根据本公开的一些实施例的用于点云编解码的方法的另一流程图;以及
图15示出了其中可以实现本公开的各种实施例的计算设备的框图。
在附图中,相同或相似的附图标记通常指代相同或相似元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每一个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包括”、“具有”、“具有”、“包含”和/或“包含”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是图示可以利用本公开的技术的示例点云编解码系统100的框图。如所示出的,点云编解码系统100可以包括源设备110和目的设备120。源设备110也可以称为点云编码设备,并且目的设备120也可以称为点云解码设备。在操作中,源设备110可以被配置为生成经编码的点云数据,并且目的设备120可以被配置为对由源设备110生成的经编码的点云数据进行解码。本公开的技术通常针对编解码(编码和/或解码)点云数据,即支持点云压缩。编解码在压缩和/或解压缩点云数据方面可能是有效的。
源设备100和目的设备120可以包括广泛范围的设备中的任何一个,包含台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如智能电话和移动电话)、电视、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、车辆(例如,陆地或海洋车辆、航天器、飞机等)、机器人、激光雷达设备、卫星、扩展现实设备等。在某些情况下,源设备100和目标设备120可配备无线通信功能。
源设备100可以包含数据源112、存储器114、GPCC编码器116和输入/输出(I/O)接口118。目的设备120可以包含输入/输出(I/O)接口128、GPCC解码器126、存储器124和数据消费方122。根据本公开,源设备100的GPCC编码器116和目的设备120的GPCC解码器126可以被配置为应用本公开的与点云编解码相关的技术。因此,源设备100表示编码设备的示例,而目的设备120表示解码设备的示例。在其他示例中,源设备100和目的设备120可以包含其他组件或安排。例如,源设备100可以从内部或外部源接收数据(例如,点云数据)。同样地,目的设备120可以与外部数据消费方接口,而不是在同一设备中包含数据消费方。
一般而言,数据源112表示点云数据(即,原始的、未经编码的点云数据)的源,并且可以向GPCC编码器116提供点云数据的连续系列“帧”,该GPCC编码器116针对帧编码点云数据。在一些示例中,数据源112生成点云数据。源设备100的数据源112可以包含点云捕获设备,例如各种照相机或传感器中的任何一种,例如,一个或多个摄像机、涵盖先前捕获的点云数据的存档、3D扫描仪或光学雷达(LIDAR)设备、和/或从数据内容提供方接收点云数据的数据馈送接口。因此,在一些示例中,数据源112可以基于来自LIDAR装置的信号生成点云数据。备选地或附加地,点云数据可以由扫描仪、照相机、传感器或其他数据通过计算机生成。例如,数据源112可以生成点云数据,或者生成实时点云数据、存档的点云数据和计算机生成的点云数据的组合。在每种情况下,GPCC编码器116对经捕获的、经预捕获的或经计算机生成的点云数据编码。针对编解码,GPCC编码器116可以将点云数据的帧从经接收的顺序(有时被指代为“显示顺序”)重安排成编解码顺序。GPCC编码器116可以生成包含经编码的点云数据的一个或多个码流。源设备100然后可以经由I/O接口118输出经编码的点云数据,以供例如目的设备120的I/O接口128接收和/或取回。经编码的点云数据可以通过网络130A经由I/O接口118直接传送到目的设备120。经编码的点云数据也可以被存储到存储介质/服务器上130B上,以供目的设备120访问。
源设备100的存储器114和目的设备120的存储器124可以表示通用存储器。在一些示例中,存储器114和存储器124可以被存储原始点云数据,例如,来自数据源112的原始点云数据和来自GPCC解码器126的原始、经解码的点云数据。附加地或备选地,存储器114和存储器124可以被存储可分别由例如GPCC编码器116和GPCC解码器126执行的软件指令。尽管在该示例中,存储器114和存储器124与GPCC编码器116和GPCC解码器126分开示出,但应当理解,GPCC编码器116和GPCC解码器126还可以包含针对功能相似或等效目的的内部存储器。此外,存储器114和存储器124可以被存储经编码的点云数据,例如,从GPCC编码器116输出和输入到GPCC解码器126。在一些示例中,存储器114和存储器124的部分可以被分配为一个或多个缓冲器,例如,以用于存储原始、经解码和/或经编码的点云数据。例如,存储器114和存储器124可以被存储点云数据。
I/O接口118和I/O接口128可以表示无线发射器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据多种IEEE802.11标准中的任何一种操作的无线通信组件或其他物理组件。在I/O接口118和I/O接口128包括无线组件的示例中,I/O接口118和I/O接口128可以被配置为根据蜂窝通信标准(例如4G、4G-LTE(长期演进)、LTE Advanced、5G等)传递数据,例如经编码的点云数据。在I/O接口118包括无线发射器的一些示例中,I/O接口118和I/O接口128可以被配置为根据其他无线标准(例如IEEE802.11规范)传递数据,例如经编码的点云数据。在一些示例中,源设备100和/或目的设备120可以包含相应的片上系统(SoC)设备。例如,源设备100可以包含SoC设备,以执行归属于GPCC编码器116和/或I/O接口118的功能,以及目的设备120可以包含SoC设备以执行归属于GPCC解码器126和/或I/O接口128的功能。
本公开的技术可以被应用于编码和解码以支持各种应用中的任何一种,例如自动驾驶车辆之间的通信、扫描仪、照相机、传感器和处理设备(例如本地或远程服务器)之间的通信、地理制图或其他应用。
目的设备120的I/O接口128从源设备110接收经编码的码流,经编码的码流可以包含由GPCC编码器116定义的信令信息,该信令信息也被GPCC解码器126使用,例如具有表示点云的值的语法元素。数据消费方122使用该经解码的数据。例如,数据消费方122可以使用经解码的点云数据来确定物体点的位置。在一些示例中,数据消费方122可以包括显示器,以基于点云数据呈现图像。
GPCC编码器116和GPCC解码器126中的每一个可分别作为各种合适的编码器和/或解码器电路中的任一种被实现,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当技术部分地以软件实现时,设备可以将用于软件的指令存储在合适的、非暂态的计算机可读介质中,并使用一个或多个处理器在硬件中执行指令,以执行本公开的技术。GPCC编码器116和GPCC解码器126中的每一个都可以被包含在一个或多个编码器或解码器中,其中任何一个都可以被集成为相应设备中组合编码器/解码器(CODEC)的一部分。包含GPCC编码器116和/或GPCC解码器126的设备可包含一个或多个集成电路、微处理器和/或其他类型的设备。
GPCC编码器116和GPCC解码器126可以根据编解码标准操作,例如视频点云压缩(VPCC)标准或几何点云压缩(GPCC)标准。本公开通常可以指代帧的编解码(例如,编码和解码),以包含编码或解码数据的过程。经编码的码流通常包含代表编解码决策(例如,编解码模式)的语法元素的一系列值。
点云可以涵盖3D空间中的一组点,并且可以具有与该点相关联的属性。该属性可以是颜色信息,例如R,G,B或Y,Cb,Cr或反射率信息,或其他属性。点云可以被各种照相机或例如激光雷达传感器和3D扫描仪的传感器捕获,也可以由计算机生成。点云数据被用于各种应用,包含但不限于建筑(建模),制图(用于可视化和动画的3D模型)和汽车行业(用于帮助导航的激光雷达传感器)。
图2是示出根据本公开的一些实施例的GPCC编码器200的示例的框图,其可以是图1所示的系统100中的GPCC编码器116的示例。图3是示出根据本公开的一些实施例的GPCC解码器300的示例的框图,其可以是图1所示的系统100中的GPCC解码器126的示例。
在GPCC编码器200和GPCC解码器300中,点云位置首先被编解码。属性编解码取决于经解码的几何。在图2和图3中,区域自适应分层变换(RAHT)单元218、表面近似分析单元212、RAHT单元314和表面近似合成单元310是通常用于类别1数据的选项。细节级别(LOD)生成单元220、提升单元222、LOD生成单元316和逆提升单元318是通常用于类别3数据的选项。所有其他单元在类别1和类别3之间是通用的。
对于类别3数据,经压缩的几何通常表示为从根一直向下到各个体素的叶级的八叉树。对于类别1数据,经压缩的几何通常由经修剪的八叉树(即从根向下到大于体素的块的叶级的八叉树)加上近似修剪的八叉树的每一个叶内的表面的模型来表示以这种方式,类别1和类别3数据共享八叉树编解码机制,而类别1数据可以另外用表面模型近似每一个叶内的体素。所使用的表面模型是每块包括1至10个三角形的三角剖分,产生三角形汤(triangle soup)。因此,类别1几何编解码器被称为三角形汤(Trisoup)几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
在图2的示例中,GPCC编码器200可以包含坐标变换单元202、颜色变换单元204、体素化单元206、属性传递单元208、八叉树分析单元210、表面近似分析单元212、算术编码单元214、几何重构单元216、RAHT单元218、LOD生成单元220、提升单元222、系数量化单元224和算术编码单元226。
如图2的示例所示,GPCC编码器200可以接收一组位置和一组属性。位置可以包含点云中的点的坐标。属性可以包含关于点云中的点的信息,诸如与点云中的点相关联的颜色。
坐标变换单元202可以对点的坐标应用变换,以将坐标从初始域变换到变换域。本公开可以将经变换的坐标称为变换坐标。颜色变换单元204可以应用变换来将属性的颜色信息转换到不同的域。例如,颜色变换单元204可以将颜色信息从RGB颜色空间转换到YCbCr颜色空间。
此外,在图2的示例中,体素化单元206可以将变换坐标体素化。变换坐标的体素化可以包含量化移除点云的一些点。换句话说,点云的多个点可以被归入(subsum)到单个″体素”内,该体素此后在一些方面可以被视为一个点。此外,八叉树分析单元210可以基于体素化的变换坐标生成八叉树。附加地,在图2的示例中,表面近似分析单元212可以分析这些点,以潜在地确定点的集合的表面表示。算术编码单元214可以对表示八叉树和/或由表面近似分析单元212确定的表面的信息的语法元素执行算术编码。GPCC编码器200可以以几何码流中输出这些语法元素。
几何重构单元216可以基于八叉树、指示由表面近似分析单元212确定的表面的数据和/或其他信息重构点云中的点的变换坐标。由于体素化和表面近似,由几何重构单元216重构的变换坐标的数目可能不同于点云的原始点数。本公开可以将所得到的点称为重构点。属性传递单元208可以将点云的原始点的属性传递到点云数据的重构点。
此外,RAHT单元218可以对重构点的属性应用RAHT编解码。替代地或附加地,LOD生成单元220和提升单元222可以分别对重构点的属性应用LOD处理和提升。RAHT单元218和提升单元222可以基于属性生成系数。系数量化单元224可以量化由RAHT单元218或提升单元222生成的系数。算术编码单元226可以对表示经量化系数的语法元素应用算术编解码。GPCC编码器200可以在属性码流中输出这些语法元素。
在图3的示例中,GPCC解码器300可以包含几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308、表面近似合成单元310、几何重构单元312、RAHT单元314、LOD生成单元316、逆提升单元318、坐标逆变换单元320和颜色逆变换单元322。
GPCC解码器300可以获得几何码流和属性码流。解码器300的几何算术解码单元302可以对几何码流中的语法元素应用算术解码(例如,CABAC或其他类别型的算术解码)。类似地,属性算术解码单元304可以对属性码流中的语法元素应用算术解码。
八叉树合成单元306可以基于从几何码流解析的语法元素来合成八叉树。在几何码流中使用表面近似的情况下,表面近似合成单元310可以基于从几何码流解析的语法元素并基于八叉树来确定表面模型。
此外,几何重构单元312可以执行重构以确定点云中的点的坐标。坐标逆变换单元320可以对经重构的坐标应用逆变换,以将点云中的点的经重构的坐标(位置)从变换域转换回初始域。
附加地,在图3的示例中,逆量化单元308可以逆量化属性值。属性值可以基于从属性码流获得的语法元素(例如,包含由属性算术解码单元304解码的语法元素)。
取决于属性值如何被编码,RAHT单元314可以执行RAHT编解码,以基于逆量化属性值来确定点云中的点的颜色值。替代地,LOD生成单元316和逆提升单元318可以使用基于细节级别的技术来确定点云中的点的颜色值。
此外,在图3的示例中,颜色逆变换单元322可以对颜色值应用逆颜色变换。该逆颜色变换可以是编码器200的颜色变换单元204应用的颜色变换的逆。例如,颜色变换单元204可以将颜色信息从RGB颜色空间变换到YCbCr颜色空间。因此,颜色逆变换单元322可以将颜色信息从YCbCr颜色空间变换到RGB颜色空间。
图2和图3的各种单元被示出为帮助理解由编码器200和解码器300执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路指的是提供特定功能并被预设在可以执行的操作上的电路。可编程电路是指可以被编程以执行各种任务并且在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,该软件或固件使可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以执行软件指令(例如,来接收参数或输出参数),但是固定功能电路执行的操作类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
下文将详细描述本公开的一些示例性实施例。应当理解,在本文档中使用部分标题是为了便于理解,并且不将部分中公开的实施例限制为仅限于该部分。此外,虽然某些实施例是参考GPCC或其他特定点云编解码器来描述的,但所公开的技术也适用于其他点云编解码技术。此外,虽然一些实施例详细描述了点云编解码步骤,但应当理解,撤消编解码的相应解码步骤将由解码器实现。
1.发明内容
本公开涉及点云编解码技术。具体而言,涉及点云帧间编解码中的运动估计过程。这些想法可单独或以各种组合方式应用于任何点云编解码标准或非标准点云编解码器,例如,正在开发的基于几何的点云压缩(G-PCC)。
2.缩写
G-PCC 基于几何的点云压缩
MPEG 运动图像专家组
3DG 3D图形编解码团队
CFP 提案征集
V-PCC 视频点云压缩
CE 核心实验
EE 探索实验
inter-EM 帧间探索模型
LMS 最小均方
3.背景技术
点云编解码标准主要是通过著名的MPEG组织的发展而演变而来的。MPEG是移动图像专家组(Moving Picture Experts Group)的简称,其是处理多媒体的主要标准化小组之一。2017年,MPEG 3D图形编解码小组(3DG)发布了一份提案征集(CFP)文件,以开始发展点云编解码标准。最终标准将囊括两种类别的解决方案。基于视频的点云压缩(V-PCC)适用于点分布相对均匀的点集。基于几何的点云压缩(G-PCC)适用于更稀疏的分布。
为了探索G-PCC中未来的点云编解码技术,成立了核心实验(CE)13.5和探索实验(EE)13.2来发展G-PCC中的帧间预测技术。此后,MPEG采用了许多新的帧间预测方法,并将其纳入名为帧间探索模型(inter-EM)的参考软件中。
稀疏激光雷达点云数据典型地由附着在移动车辆上的激光雷达传感器捕获。在这样的数据中,点数据总是随着物体的移动和移动车辆的移动而移动,当对参考帧的运动进行估计和补偿时,可以减少帧间预测的残差,显著提高帧间编解码的效率。这些运动的过程被定义为inter-EM中的“全局运动估计”。
在一个点云帧中,道路和物体的点数据通常具有不同的运动。将点云划分为道路和物体将提高全局运动的准确性,从而大大提高压缩效率。在一个示例中,全局运动估计模块可以使用双阈值方法来获得物体点和道路点的分类。基于点的高度(即z值)直方图推导出两个阈值top_thr和bottom_thr。如果一个点的高度小于bottom_thr或大于top_thr,则将其贴标签为物体点,否则将其分类至道路点。阈值的推导基于直方图:
1.获得针对高度在(B,T)范围内的点的直方图,并指定直方图的二进制位大小。B和T是两个预设阈值,用于选择针对计算top_thr和bottom_thr的点。
2.计算直方图的均方差(std)。
3.找到点的数目达到最大的直方图的峰值二进制(P)。
4.阈值计算如下:
top_thr=最小(T,P+1.5*std)
bottom_thr=最大(B,P–1.5*std)
在分类过程中,编码器逐块扫描以导出点数组,pc_likely_world,其中涵盖用于全局运动估计过程中正在使用的物体点。对于当前块中的点,如果其高度值符合两个阈值条件,并且参考块中至少有一个点(参考帧中具有扩展的同位块),则将该点添加到pc_likely_world。将点分类至道路和物体后,在全局运动估计过程中只使用带有物体标签的点。采用最小均方(LMS)算法对全局运动进行估计。预先设置了经估计的LMS迭代次数和估计每一次迭代使用的样本数。在每一次迭代中,样本从pc_likely_world中的点进行子采样。并且对于每一个样本,会在参考帧中找到其响应的参考样本点,即与当前样本距离最小的点。通过利用样本和参考样本的LMS算法计算全局运动矩阵。然后将全局运动矩阵应用于参考帧中的物体点,得到具有运动补偿的参考帧。
4.问题
上述全局估计设计存在以下问题:
1.分类结果不够准确。一些高度值较低的物体点可能被贴标签为道路点,例如,建筑物和道路交界处的一些物体点。错误的分类会降低全局运动估计的准确性。
2.分类过程的复杂度很高。编码器逐块扫描的分类过程引入了许多迭代。这些迭代导致了高复杂度。
3.样本与参考样本的匹配结果不够准确。样本是从当前帧的物体点中提取的子样本。参考样本是通过扫描参考帧中的所有点生成的,包含物体点和道路点。因此样本的参考样本可能在参考帧中被贴标签为道路点,而样本始终被贴标签为物体点。错误的匹配结果会降低全局运动估计的准确性。
5.示例性实施例
为了解决上述问题和其他一些未提及的问题,公开了下文概述的方法。这些实施例应视为解释一般概念的示例,不应作狭义解释。此外,这些实施例可以单独应用或以任何方式组合应用。
1)N个阈值可以被用于将点分类至M个类别,例如两个(M=2)类别:物体点和其中N大于M的道路点。
a.在一个示例中,N=5,M=2。
i.附加地,另外,用higher_top_thr、lower_top_thr、higher_bottom_thr、lower_bottom_thr和height_change_thr表示五个阈值。假设higher_top_thr>=lower_top_thr>=higher_bottom_thr>=lower_bottom_thr,可依次应用:
(1)如果点的高度小于lower_bottom_thr或大于higher_top_thr,则该点被贴标签为物体点。
(2)否则,如果点的高度在lower_top_thr和higher_bottom_thr之间,则该点被贴标签为道路点。
(3)否则,如果该点与其邻近之间的最大高度差高于height_change_thr,则该点被贴标签为物体点。
(4)否则,该点被贴标签为道路点。
b.在一个示例中,预定义地或经导出的一个或多个阈值(例如,基于点的高度(即z值))。
c.在一个示例中,一个或多个阈值可以从一个点到另一个点不同。
d.在一个示例中,可以从编码器向解码器发送一个或多个阈值。
e.在一个示例中,可以在编码器处生成一个或多个阈值。
f.在一个示例中,可以在解码器处生成一个或多个阈值。
g.在一个示例中,可以基于当前帧和其他帧中的至少一个来生成一个或多个阈值。
i.在一个示例中,其他帧可以是参考帧。
ii.在一个示例中,其他帧的指示可以在码流中用信号通知。
iii.在一个示例中,其他帧可以是预定义的,例如,参考帧中的参考图片索引等于0。
h.在一个示例中,几何特征的直方图(例如点的高度值)可以被用于生成阈值。
i.在一个示例中,直方图可以生成具有特定直方图二进制位大小的当前图片中的全部或部分点。
(1)备选地,可以生成具有部分或全部先前经编解码的当前点之前的点。
ii.在一个示例中,点是否被用于生成生成直方图可以取决于点的特性。
(1)在一个示例中,如果点的高度值在预设范围内,则该点可以被使用。
iii.在一个示例中,可计算直方图的均方差(std)以生成阈值。
i.在一个示例中,阈值可以在被使用之前首先被处理,例如被削波。
j.可以将诸如点的高度值之类别的任何地理值或特征值与阈值中的至少一个相比较以将点分类。
k.可以将诸如点与邻近点之间的高度差值之类别的任何地理值或特征值与阈值中的至少一个相比较以将点分类。
l.对于上述示例,它们也可适用于当前的设计,在当前的设计中,利用两个阈值将点分类到两个类别中的一个。
2)建议扫描每一个平面区域以执行分类。
a.在一个示例中,针对当前帧,可能有一个或多个参考帧。
b.在一个示例中,平面区域是长方体空间。图4是示意图400,其示出了点云中平面区域和块的示例。点云中的点可以根据它们的平面坐标被聚类为多个平面区域。平面区域可以基于高度坐标被划分为多个块,通常是立方体空间。
c.在一个示例中,参考点在参考帧中。
d.在一个示例中,参考帧由一个或多个平面区域组成,并且参考点属于一个或多个参考平面区域。
e.在一个示例中,当前帧中的平面区域对应于参考帧中的一个或零个参考平面区域。
f.在一个示例中,是否可以将经扫描的平面区域中的点分类(例如使用N个阈值来确定它是否是物体点)可以取决于相应的参考平面区域。
i.在一个示例中,仅当扫描平面区域对应于一个参考平面区域并且存在至少一个属于参考平面区域的参考点时,才可以将扫描平面区域中的点分类。
g.在一个示例中,如何将可以分类的点分类可能取决于分类条件,例如使用N个阈值来确定它是否是物体点。
3)建议扫描每一个点和参考点以执行分类。
a.在一个示例中,针对当前帧,可能有一个或多个参考帧。
b.在一个示例中,参考点在参考帧中。
c.在一个示例中,参考帧由一个或多个参考空间单元(例如块或平面区域)组成,并且参考点属于一个或多个参考空间单元。
d.在一个示例中,如果扫描属于参考空间单元的至少一个参考点,则参考空间单元被标记(例如标记为被占用)。
e.在一个示例中,当前帧中的点可以对应于一个或零个参考空间单元。
f.在一个示例中,是否可以将当前帧中的点分类(例如确定它是否是物体点)可以取决于其对应的参考空间单元。
i.在一个示例中,如果经扫描的点对应于一个参考空间单元并且存在至少一个属于参考空间单元的参考点,则只能将经扫描的点分类。
g.在一个示例中,如何将可以被分类的点分类可能取决于分类条件,例如使用N个阈值以确定它是否是物体点。
4)建议将经估计的全局运动应用于参考帧中的所有点。
a.在一个示例中,全局运动矩阵可以通过利用样本和参考样本的LMS算法被计算。
b.在一个示例中,将全局运动矩阵应用于参考帧中的所有点以获得具有运动补偿的参考帧。
5)建议使用(例如,通过扫描)参考帧中具有相同标签的点来生成参考样本。
a.在一个示例中,当前帧中的样本和参考样本二者均可以被用于全局运动估计。
b.在一个示例中,可以对当前帧中的一个或多个点(例如物体点)进行下采样以生成用于全局运动估计的样本。
c.在一个示例中,样本对应于一个参考样本。并且其参考样本可以在参考帧中具有相同标签的点(例如物体点)中找到。
d.任何地理值或特征值(例如两点之间的欧几里得距离)都可以被用于将点分类。
i.在一个示例中,如果参考帧中的点与参考帧中的所有点离样本的欧几里得距离最小,则该点可以被标记为样本的参考样本。
6.实施例
1)本实施例描述了如何通过使用五个阈值方法将点云帧分类至物体点和道路点的示例。
在示例中,输入是当前帧PCcur和参考帧PCref,输出是点数组pc_likely_world,其中涵盖用于全局估计的物体点。
首先,生成道路/物体分类的五个阈值:
1.获得PCcur中具有特定直方图二进制位大小的高度在(B,T)范围内的点的值的直方图。其中B预设为-4000,T预设为-500。B和T的值取决于点云采集设备的参数。
2.计算直方图的均方差(std)。
3.找到点的数目达到最大的直方图的峰值二进制(P)。
4.阈值计算如下:
lower_top_thr=P+1*std
higher_bottom_thr=P–1*std
higher_top_thr=最小(T,P+1.5*std)
lower_bottom_thr=最大(B,P–1.5*std)
height_change_thr=4*std
其次,逐块扫描以导出点数组,pc_likely_world,其中涵盖全局运动估计过程中使用的物体点。该扫描过程采取以下步骤:
1.PCcur的边界框空间被划分为多个块,并且每一个块的块大小为bsize*bsize*bsize。bsize预设为4096。图5是示出针对点云的生成块的示例的示意图500。
2.针对当前帧中的每一个块,在PCref的边界框空间中生成其对应的参考块。参考块是在参考帧中具有扩展的当前块的同位块,其块大小为(bsize+2*delta)*(bsize+2*delta)*(bsize+2*delta)。delta预设为1000。图6是示出针对当前块的生成参考块示例的示意图600。
3.针对每一个块,遍历当前帧中的所有点,标签将当前块中的点记录在数组中,current_block。转到步骤4。
4.遍历参考帧中的所有点,并计算其对应参考块中的点的数目。如果数目为零,则返回步骤3并扫描下一个块。否则,转到步骤5。
5.对于current_block中的每一个点,如果它的高度值符合以下任何一个条件,它将被添加到pc_likely_world。返回步骤3并扫描下一个块。
(1)点的高度小于lower_bottom_thr。
(2)点的高度大于higher_top_thr。
(3)点的高度在lower_top_thr和higher_top_thr之间,点与邻近点(点与邻近点应属于同一块)的最大高度差高于height_change_thr。
(4)点的高度在lower_bottom_thr和higher_bottom_thr之间,点与邻近点(点与邻近点应属于同一块)的最大高度差高于height_change_thr。
2)本实施例描述了如何通过使用逐点扫描过程将点云帧分类至物体点和道路点的示例。在该示例中,空间单元是块。
在示例中,输入是当前帧PCcur和参考帧PCref,输出是点数组pc_likely_world,其中涵盖用于全局估计的物体点。
首先,生成针对道路/物体分类的两个阈值:
1.获得PCcur中具有特定直方图二进制位大小的高度在(B,T)范围内的点的值的直方图。其中B预设为-4000,T预设为-500。B和T的值取决于点云采集设备的参数。
2.计算直方图的均方差(std)。
3.找到点的数目达到最大的直方图的峰值二进制(P)。
4.阈值计算如下:
top_thr=P+1.5*std
bottom_thr=P–1.5*std
其次,逐点扫描以导出点数组,pc_likely_world,其中包含全局运动估计过程中使用的物体点。扫描过程采取以下步骤:
1.计算当前帧中的块的数目,blocknum:
Bnum=maxBB_Scalled/bsize
blocknum=Bnum*Bnum*Bnum
maxBB_Scalled是PCcur边界框的最大边长。bsize是块的边长,预设为4096。
2.生成一个bool数组以指示PCref、ref_block_xyz中每一个参考块的占用信息。它被调整为blocknum。
3.针对PCref中的每一个点(x,y,z),计算其对应参考块的索引。
delta预设为1000。在ref_block_xyz中,具有这些索引的元素被标记为被占用。
4.针对PCcur中的每一个点(x,y,z),计算其对应参考块的索引:
如果在ref_block_xyz中未找到与索引对应的元素或未被标记为被占用,则扫描下一个点。
5.如果点的高度值符合以下任一条件,它将被添加到pc_likely_world:
(1)点的高度小于bottom_thr。
(2)点的高度大于top_thr。
3)本实施例描述了如何通过使用基于平面区域的扫描过程将点云帧分类至物体点和道路点的示例。
在示例中,输入是当前帧PCcur和参考帧PCref,输出是点数组pc_likely_world,其中包含针对全局估计的物体点。
首先,生成针对道路/物体分类的两个阈值:
1.获得PCcur中具有特定直方图二进制位大小的高度在(B,T)范围内的点的值的直方图。其中B预设为-4000,T预设为-500。B和T的值取决于点云采集设备的参数。
2.计算直方图的均方差(std)。
3.找到点的数目达到最大的直方图的峰值二进制(P)。
4.阈值计算如下:
top_thr=P+1*std
bottom_thr=P–1*std
其次,扫描每一个平面区域以导出点阵列,pc_likely_world,其中包含全局运动估计过程中使用的物体点。扫描过程采取以下步骤:
1.PCcur的边界框空间被划分为多个平面区域,并且每一个块的区域大小为bsize*bsize。bsize预设为4096。图7是示出针对点云的生成平面区域的示例的示意图700。
2.针对当前帧中的每一个平面区域,在PCref的边界框空间中生成其对应的参考平面区域。参考平面区域是在参考帧中具有扩展的当前平面区域的同位平面区域,其区域大小为(bsize+2*delta)*(bsize+2*delta)。delta预设为1000。图8是示出针对当前平面区域的生成参考平面区域的示例的示意图800。
3.针对每一个平面区域,遍历当前帧中的所有点,并将当前平面区域中的点记录在数组中,current_region。
4.遍历参考帧中的所有点,并计算其对应参考平面区域中的点的数目。如果数目为零,则扫描下一个平面区域。
5.针对current_region中的每一个点,如果其高度值符合以下任何一个条件,则将其添加到pc_likely_world:
(1)点的高度小于lower_bottom_thr。
(2)点的高度大于higher_top_thr。
4)本实施例描述了如何使用逐点扫描过程将点云帧分类至物体点和道路点的示例。在该示例中,空间单元是平面区域。
在示例中,输入是当前帧PCcur和参考帧PCref,输出是点数组pc_likely_world,其中包含针对全局估计的物体点。
首先,生成针对道路/物体分类的两个阈值:
1.获得PCcur中具有特定直方图二进制位大小的高度在(B,T)范围内的点的值的直方图。其中B预设为-4000,T预设为-500。B和T的值取决于点云采集设备的参数。
2.计算直方图的均方差(std)。
3.找到点的数目达到最大的直方图的峰值二进制(P)。
4.阈值计算如下:
top_thr=P+1.5*std
bottom_thr=P–1.5*std
其次,逐点扫描导出点数组,pc_likely_world,其中包含全局运动估计过程中使用的物体点。扫描过程采取以下步骤:
1.计算当前帧中平面区域的数目,Region_num:
Rnum=maxBB_Scalled/bsize
Region_num=Rnum*Rnum
maxBB_Scalled是PCcur边界框的最大边长。bsize是平面区域的边长,预设为4096。
2.生成一个bool数组以指示PCref、ref_planar_region中每一个参考平面区域的占用信息。它被调整为Region_num。
3.对于PCref中的每一个点(x,y,z),计算其对应的参考平面区域的索引。
delta预设为1000。在ref_planar_region中,具有这些索引的元素被标记为占用。
4.针对PCcur中的每一个点(x,y,z),计算其对应参考平面区域的索引:
如果在ref_planar_region中未找到与索引对应的元素或未被标记为被占用,则扫描下一个点。
5.如果点的高度值符合以下任一条件,它将被添加到pc_likely_world:
(1)点的高度小于bottom_thr。
(2)点的高度大于top_thr。
本公开的实施例涉及用于基于分类的点云编解码的全局运动估计方法。如本公开所用,术语“点云序列”可以指代一个或多个点云的序列。术语“帧”可以指代点云序列中的点云。
图9示出了根据本公开的一些实施例的用于点云编解码的方法900的流程图。方法900可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图9所示,方法900开始于902,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目大于第一组中的类别的数目。例如,第二组中的阈值的数目可以为5,第一组中的类别的数目可以为2。
在一些示例中,第二组阈值可以包括第一阈值、第二阈值、第三阈值、第四阈值和第五阈值。第一阈值可以大于或等于第二阈值。第二阈值可以大于或等于第三阈值。第三阈值可以大于或等于第四阈值。第一组类别可以包括与物体点相关联的第一类别和与道路点相关联的第二类别。
例如,如果目标点的高度小于第四阈值或大于第一阈值,则可以将目标点分类至第一类别。在另一示例中,如果目标点的高度小于第二阈值且大于第三阈值,将目标点分类至第二类别。附加地或备选地,如果目标点的高度小于或等于第一阈值且大于或等于第二阈值,并且目标点与邻近目标点的点之间的最大高度差大于第五阈值,则可以将目标点分类至第一类别。
在一些附加或替代实施例中,如果目标点的高度小于或等于第三阈值且大于或等于第四阈值,并且目标点与邻近目标点的点之间的最大高度差大于第五阈值,则可以将目标点分类至第一类别。
附加地或备选地,如果目标点的高度小于或等于第一阈值且大于或等于第二阈值,并且目标点与邻近目标点的点之间的最大高度差小于或等于第五阈值,则可以将目标点分类至第二类别。
作为进一步的附加或替代示例,如果目标点的高度小于或等于第三阈值且大于或等于第四阈值,并且目标点与邻近目标点的点之间的最大高度差小于或等于第五阈值,则可以将目标点分类至第二类别。
应当理解,上述插图和/或示例仅用于描述目的。本公开的范围在此方面不受限制。
在904,基于分类执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
方法900增加了将帧中的点分类的阈值数目。与阈值数目等于类别的数目的常规解决方案相比,所提出的方法可以有利地实现点的更精确的分类,从而提高全局运动估计的准确性和编解码质量。
在一些实施例中,第二组中的至少一个阈值可以是预定义的。或者,第二组中的至少一个阈值可以基于点云序列中的点的高度被确定。
在一些实施例中,第二组中的至少一个阈值的值可以不同于被用于点云序列中的另一点的至少一个阈值的值。例如,针对当前帧,上述第一阈值的值可以是5,而针对当前帧之后的帧,上述第一阈值的值可以是4。应当理解,上述说明和/或示例仅用于描述目的。本公开的范围不限于这方面。
在一些实施例中,第二组中的至少一个阈值可以在码流中被指示。例如,上述第一阈值可以从编码器发信号给解码器。
在一些实施例中,第二组中的至少一个阈值在编码器处被生成。附加地或备选地,第二组中的至少一个阈值在解码器处被生成。
在一些实施例中,第二组中的至少一个阈值可以基于点云序列的当前帧或另一帧中的至少一个被生成。在一个示例中,另一帧可以包括当前帧的参考帧。附加地或备选地,另一帧的指示可以在码流中被指示。在另一个示例中,另一帧可以是预定义的。在又一个示例中,另一帧可以包括具有参考帧索引等于0的参考帧。应当理解,术语“参考帧索引”也可以称为参考图片索引。本公开的范围不限于这方面。
在一些实施例中,第二组中的至少一个阈值可以基于点云序列中的点的几何特征的直方图被生成。作为示例,具有特定直方图二进制位大小的直方图至少可以基于当前帧中的部分点被生成。或者,直方图至少可以基于先前经编解码的部分点被生成。在一个示例中,点云序列中的点是否被用于生成直方图可以取决于点的特性。例如,如果点的高度值在预设范围内,则点可以被使用来生成直方图。在一个示例中,至少一个阈值可以基于直方图的均方差被生成。应当理解,上述插图和/或示例仅用于描述目的。本公开的范围在此方面不受限制。
在一些实施例中,第二组中的至少一个阈值在被使用之前可以被处理。作为示例,如果阈值超过预设的上限,就可以将阈值设置为预定义的值。应当理解,上述说明和/或示例仅用于描述目的。本公开的范围在这方面不受限制。
在一些实施例中,在902,可以将目标点的地理值或特征值与第二组中的至少一个阈值相比较。可以基于比较将目标点分类。
在一些实施例中,在902,可以将目标差与第二组中的至少一个阈值相比较,目标差指示目标点与邻近目标点的至少一个点之间的地理值差或特征值差。可以基于比较将目标点分类。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目大于第一组中的类别的数目。可以基于分类生成当前帧的码流。
在一些实施例中,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目大于第一组中的类别的数目。可以基于分类生成当前帧的码流。该码流可以被存储在非暂态计算机可读记录介质中。
图10示出了根据本公开的一些实施例的用于点云编解码的方法1000的另一流程图。该方法1000可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图10所示,该方法1000开始于1002,其中基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列的另一帧被生成。
举例来说,另一帧可以包括当前帧的参考帧。第二组中的阈值可以基于当前帧中的点的几何特征的直方图和当前帧的参考帧被生成。应当理解,上述插图和/或示例仅用于描述目的。本公开的范围不限于这方面。
在1004,基于分类执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
根据方法1000,除了当前帧之外,还使用点云序列的另一帧来生成针对将点分类的阈值。与仅使用当前帧来生成阈值的常规解决方案相比,所提出的方法可以有利地生成更合理的阈值,从而能够更准确地对点进行分类,从而提高全局运动估计的准确性和编解码质量。
在一些实施例中,另一帧的指示可以在码流中被指示。或者,另一帧可以是预定义的。在一个示例中,另一帧可以包括具有参考帧索引等于0的参考帧。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列的另一帧被生成。可以基于分类生成当前帧的码流。
在一些实施例中,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列的另一帧被生成。可以基于分类生成当前帧的码流。该码流可以被存储在非暂态计算机可读记录介质中。
图11示出了根据本公开的一些实施例的用于点云编解码的方法1100的另一流程图。该方法1100可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图11所示,该方法1100开始于1102,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成。直方图基于点的特性被生成。举例来说,如果点的高度值在预设范围内,则点云序列中的点被使用来生成直方图。应理解上述说明和/或示例仅用于描述目的。本公开的范围不限于此方面。
在1104,基于分类执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
该方法1100考虑了用于生成点的几何特征的直方图的点的特性。与常规解决方案相比,该方法可以有利地生成更合理的阈值,从而能够更准确地对点进行分类,从而提高全局运动估计的准确性和编解码质量。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成。直方图基于点的特性被生成。可以基于分类生成当前帧的码流。
在一些实施例中基于第二组阈值将当前帧中的目标点分类至第一组类别。第二组中的阈值的数目等于第一组中的类别的数目。第二组中的至少一个阈值基于点云序列中的点的几何特征的直方图被生成。直方图基于点的特性被生成。可以基于分类生成当前帧的码流。该码流可以被存储在非暂态计算机可读记录介质中。
图12示出了根据本公开的一些实施例的用于点云编解码的方法1200的另一流程图。该方法1200可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图12所示,该方法1200开始于1202,其中基于一组平面区域将当前帧中的至少部分点分类。一个平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度。
作为示例,一组平面区域中的每一个平面区域是长方体。参考图4,长方体410可以对应于平面区域。当前帧中的每一个点基于点的坐标被分配给一组平面区域中的一个平面区域。应当理解,图4中所示的平面区域的可能实现仅是说明性的,因此不应被解释为以任何方式限制本公开。
在1204,基于分类执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
该方法1200利用平面区域作为处理单元进行分类处理,与传统的使用块的方案相比,该方法能够有利地减少分类处理的迭代次数,从而降低分类处理的复杂度,提高编解码效率。
在一些实施例中,当前帧的参考帧可以包括至少一个参考平面区域,并且参考帧中的参考点属于至少一个参考平面区域。
在一些实施例中,针对当前帧中的平面区域,当前帧的参考帧可以包括对应于平面区域的参考平面区域。或者,当前帧的参考帧可以不包括对应于平面区域的参考平面区域。
在一些实施例中,平面区域中的点是否要被分类可以取决于当前帧的参考帧中的参考平面区域。参考平面区域对应于平面区域。例如,如果至少一个参考点属于参考平面区域,则点可以被分类。在一些实施例中,如何将平面区域中的点分类可以取决于分类条件。
在一些实施例中,部分点可以基于多个阈值被分类至第一组类别。在一个示例中,第一组类别可以包括与物体点相关联的第一类别和与道路点相关联的第二类别。
在一些实施例中,在902、1002或1102,可以将目标点分配给多个空间单元中的一个,多个空间单元用于当前帧的全局运动估计过程。可以基于分配将目标点分类。在一些实施例中当前帧的参考帧可以包括至少一个参考空间单元,并且参考帧中的参考点可以属于至少一个参考空间单元。在一个示例中,至少一个参考空间单元可以是至少一个参考块或至少一个平面区域。
在一些实施例中,方法900、1000或1100还可以包括将目标点的参考点分配给至少一个参考空间单元,参考点在参考帧中,以及如果参考点被分配给参考空间单元,则标记参考空间单元。在一个示例中,针对当前帧中的空间单元,当前帧的参考帧可以包括对应于空间单元的参考空间单元。或者,当前帧的参考帧可以不包括对应于空间单元的参考空间单元
在一些实施例中,在904、1004或1104,可以将当前帧中的至少部分点分类至第一组类别。空间单元中的点是否要被分类可以取决于当前帧的参考帧中的参考空间单元。参考空间单元对应于空间单元。可以基于分类来执行转换。在一个示例中,如果至少一个参考点属于参考空间单元,则点可以被分类。在一些实施例中,如何将空间单元中的点分类可以取决于分类条件。
在一些实施例中,第一组类别可以包括与物体点相关联的第一类别和与道路点相关联的第二类别。部分点可以基于多个阈值被分类至第一类别或第二类别。
在一些实施例中,在904、1004、1104或1204,可以基于分类确定针对当前帧的全局运动信息。可以基于全局运动信息执行转换。例如,全局运动信息可以包括通过利用样本和参考样本的最小均方(LMS)算法被确定的全局运动矩阵。样本可以基于当前帧中的点被确定。参考样本可以基于当前帧的参考帧中的参考点被确定。
在一些实施例中,全局运动信息可以包括全局运动矩阵。可以通过将全局运动矩阵应用于当前帧的参考帧中的所有点,获得具有运动补偿的参考帧。可以基于具有运动补偿的参考帧执行转换。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,基于一组平面区域将当前帧中的至少部分点分类。一组平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度。可以基于分类生成当前帧的码流。
在一些实施例中,基于一组平面区域将当前帧中的至少部分点分类。一组平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度。可以基于分类生成当前帧的码流。该码流可以被存储在非暂态计算机可读记录介质中。
图13示出了根据本公开的一些实施例的用于点云编解码的方法1300的另一流程图。该方法1300可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图13所示,该方法1300开始于1302,其中将当前帧的参考帧中的参考点分类至一组类别。作为示例,参考点可以基于两个阈值被分类至一组类别。该组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别。
在1304,基于被分类至同一类别的参考点,生成一组参考样本。作为示例,可以基于被分类至第一类别的参考点,生成一组参考样本。应当理解,上述图示和/或示例仅用于描述目的。本公开的范围在这方面不受限制。
在1306,基于一组参考样本执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
根据方法1300,基于被分类至同一类别的参考点,生成一组参考样本。从而,所提出的方法可以有利地避免全局运动估计中的误匹配,从而提高全局运动估计的准确性和编解码质量。
在一些实施例中,方法1300还可以包括:将当前帧中的点分类至一组类别;以及通过对被分类至同一类别的点进行下采样,生成一组样本。
在一些实施例中,在1306,可以基于一组样本和一组参考样本生成全局运动信息。可以基于全局运动信息执行转换。
在一些实施例中,一组样本中的样本与一组参考样本中的参考样本相关联。参考样本可以基于参考点被生成,参考点被分类至与用于生成样本的点相同的类别。在一些实施例中,参考点可以基于参考点的地理值或特征值被分类。例如,参考点可以基于参考点的高度被分类。在一些实施例中,点可以基于点的地理值或特征值被分类。例如,点可以基于点的高度被分类。
在一些实施例中,如果参考帧中的参考点在参考帧中的所有参考点中具有与一组样本中的样本的最小欧几里得距离,则参考点可以被标记为样本的参考样本。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,将当前帧的参考帧中的参考点分类至一组类别。基于被分类至同一类别的参考点,生成一组参考样本。可以基于一组参考样本生成码流。
在一些实施例中,将当前帧的参考帧中的参考点分类至一组类别。基于被分类至同一类别的参考点,生成一组参考样本。可以基于一组参考样本生成码流。该码流可以被存储在非暂态计算机可读记录介质中。
图14示出了根据本公开的一些实施例的用于点云编解码的方法1400的另一流程图。该方法1400可以在点云序列的当前帧和点云序列的码流之间的转换期间实现。如图14所示,该方法1400开始于1402,其中基于当前帧的多个参考帧,确定针对当前帧的全局运动信息。例如,当前帧可以具有在当前帧之前的参考帧和在显示顺序中在当前帧之后的参考帧。可以使用两个参考帧来执行全局运动估计过程,以便确定当前帧的全局运动信息。应当理解,上述说明和/或示例仅用于描述目的。本公开的范围在此方面不受限制。
在1404,基于全局运动信息执行转换。在一些实施例中,转换可以包括将当前帧编码到码流中。备选地或附加地,转换可以包括从码流解码当前帧。
根据方法1400,对具有多于一个参考帧的帧进行全局运动估计。与仅使用一个参考帧的常规方案相比,所提出的方法可以有利地提高全局运动估计的准确性和编解码质量。
在一些实施例中,在1402,可以基于一组平面区域将当前帧中的至少部分点分类。一组平面区域中的每一个平面区域是三维的并且具有的高度等于当前帧的边界框的高度。作为示例,该组平面区域中的每一个平面区域可以是长方体。参考图4,长方体410可以对应于平面区域。可以基于分类确定全局运动信息。应当理解,图4中所示平面区域的可能实现仅仅是说明性的,因此不应该被解释为以任何方式限制本公开。
在一些实施例中,在1402,将当前帧中的目标点分配给多个空间单元中的一个,多个空间单元用于当前帧的全局运动估计过程。可以将目标点分类至一组类别,并且可以基于分类确定全局运动信息。
在一些实施例中,点云序列的码流可以被存储在非暂态计算机可读记录介质中。点云序列的码流可以由点云处理装置执行的方法生成。根据该方法,基于当前帧的多个参考帧,确定针对当前帧的全局运动信息。可以基于全局运动信息生成码流。
在一些实施例中,基于当前帧的多个参考帧,确定针对当前帧的全局运动信息。可以基于全局运动信息生成码流。码流可以被存储在非暂态计算机可读记录介质中。
本公开的实现可以根据以下条款来描述,这些条款的特征可以以任何合理的方式组合。
条款1.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;以及基于所述分类执行所述转换。
条款2.根据条款1所述的方法,其中所述第二组中的所述阈值的数目为5,所述第一组中的所述类别的数目为2。
条款3.根据条款2所述的方法,其中所述第二组阈值包括第一阈值、第二阈值、第三阈值、第四阈值和第五阈值,所述第一阈值大于或等于所述第二阈值,所述第二阈值大于或等于所述第三阈值,所述第三阈值大于或等于所述第四阈值,所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别,并且将所述目标点分类包括以下至少一项:如果所述目标点的高度小于所述第四阈值或大于所述第一阈值,将所述目标点分类至所述第一类别,如果所述目标点的所述高度小于所述第二阈值且大于所述第三阈值,将所述目标点分类至所述第二类别,如果所述目标点的所述高度小于或等于所述第一阈值且大于或等于所述第二阈值,并且所述目标点与邻近所述目标点的点之间的最大高度差大于所述第五阈值,将所述目标点分类至所述第一类别,如果所述目标点的所述高度小于或等于所述第三阈值且大于或等于所述第四阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差大于所述第五阈值,将所述目标点分类至所述第一类别,如果所述目标点的所述高度小于或等于所述第一阈值且大于或等于所述第二阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差小于或等于所述第五阈值,将所述目标点分类至所述第二类别,或者如果所述目标点的所述高度小于或等于所述第三阈值且大于或等于所述第四阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差小于或等于所述第五阈值,将所述目标点分类至所述第二类别。
条款4.根据条款1-3中任一项所述的方法,其中所述第二组中的至少一个阈值是预定义的。
条款5.根据条款1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列中的点的高度被确定。
条款6.根据条款1-5中任一项所述的方法,其中所述第二组中的至少一个阈值的值不同于被用于所述点云序列中的另一点的所述至少一个阈值的值。
条款7.根据条款1-6中任一项所述的方法,其中所述第二组中的至少一个阈值在所述码流中被指示。
条款8.根据条款1-7中任一项所述的方法,其中所述第二组中的至少一个阈值在编码器处被生成。
条款9.根据条款1-6中任一项所述的方法,其中所述第二组中的至少一个阈值在解码器处被生成。
条款10.根据条款1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列的所述当前帧或另一帧中的至少一个被生成。
条款11.根据条款10所述的方法,其中所述另一帧包括所述当前帧的参考帧。
条款12.根据条款10-11中任一项所述的方法,其中所述另一帧的指示在所述码流中被指示。
条款13.根据条款10所述的方法,其中所述另一帧是预定义的。
条款14.根据条款13所述的方法,其中所述另一帧包括具有参考帧索引等于0的参考帧。
条款15.根据条款1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成。
条款16.根据条款15所述的方法,其中具有特定直方图二进制位大小的所述直方图至少基于所述当前帧中的部分点被生成,或者所述直方图至少基于先前经编解码的部分点被生成。
条款17.根据条款15-16中任一项所述的方法,其中所述点云序列中的点是否被用于生成所述直方图取决于所述点的特性。
条款18.根据条款17所述的方法,其中如果所述点的高度值在预设范围内,则所述点被使用来生成所述直方图。
条款19.根据条款15-18中任一项所述的方法,其中所述至少一个阈值基于所述直方图的均方差被生成。
条款20.根据条款1-20中任一项所述的方法,其中所述第二组中的至少一个阈值在被使用之前被处理。
条款21.根据条款1-2中任一项所述的方法,其中将所述目标点分类包括:将所述目标点的地理值或特征值与所述第二组中的至少一个阈值相比较;以及基于所述比较将所述目标点分类。
条款22.根据条款1-2中任一项所述的方法,其中将所述目标点分类包括:将目标差与所述第二组中的至少一个阈值相比较,所述目标差指示所述目标点与邻近所述目标点的至少一个点之间的地理值差或特征值差;以及基于所述比较将所述目标点分类。
条款23.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;以及基于所述分类执行所述转换。
条款24.根据条款23所述的方法,其中所述另一帧包括所述当前帧的参考帧。
条款25.根据条款23-24中任一项所述的方法,其中所述另一帧的指示在所述码流中被指示。
条款26.根据条款23所述的方法,其中所述另一帧是预定义的。
条款27.根据条款26所述的方法,其中所述另一帧包括具有参考帧索引等于0的参考帧。
条款28.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;以及基于所述分类执行所述转换。
条款29.根据条款28所述的方法,其中如果所述点的高度值在预设范围内,则所述点云序列中的点被使用来生成所述直方图。
条款30.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于一组平面区域将所述当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及基于所述分类执行所述转换。
条款31.根据条款30所述的方法,其中所述一组平面区域中的每一个平面区域是长方体,并且所述当前帧中的每一个点基于所述点的坐标被分配给所述一组平面区域中的一个平面区域。
条款32.根据条款30-31中任一项所述的方法,其中所述当前帧的参考帧包括至少一个参考平面区域,并且所述参考帧中的参考点属于至少一个参考平面区域。
条款33.根据条款30-32中任一项所述的方法,其中针对所述当前帧中的平面区域,所述当前帧的参考帧包括或不包括对应于所述平面区域的参考平面区域。
条款34.根据条款30-33中任一项所述的方法,其中平面区域中的点是否要被分类取决于所述当前帧的参考帧中的参考平面区域,所述参考平面区域对应于所述平面区域。
条款35.根据条款34所述的方法,其中如果至少一个参考点属于所述参考平面区域,则所述点被分类。
条款36.根据条款30-35中任一项所述的方法,其中如何将平面区域中的点分类取决于分类条件。
条款37.根据条款30-35中任一项所述的方法,其中所述部分点基于多个阈值被分类至第一组类别,所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别。
条款38.根据条款1-29中任一项所述的方法,其中将所述目标点分类包括:将所述目标点分配给多个空间单元中的一个,所述多个空间单元用于所述当前帧的全局运动估计过程;以及基于所述分配将所述目标点分类。
条款39.根据条款38所述的方法,其中所述当前帧的参考帧包括至少一个参考空间单元,并且所述参考帧中的参考点属于至少一个参考空间单元。
条款40.根据条款39所述的方法,其中所述至少一个参考空间单元是至少一个参考块或至少一个平面区域,至少一个平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度。
条款41.根据条款39-40中任一项所述的方法,还包括:将所述目标点的参考点分配给所述至少一个参考空间单元,所述参考点在所述参考帧中,以及如果参考点被分配给所述参考空间单元,则标记参考空间单元。
条款42.根据条款38-41中任一项所述的方法,其中针对所述当前帧中的空间单元,所述当前帧的参考帧包括或不包括对应于所述空间单元的参考空间单元。
条款43.根据条款38-42中任一项所述的方法,执行所述转换包括:将所述当前帧中的至少部分点分类至所述第一组类别,空间单元中的点是否要被分类取决于所述当前帧的参考帧中的参考空间单元,所述参考空间单元对应于所述空间单元;以及基于所述分类执行所述转换。
条款44.根据条款43所述的方法,其中如果至少一个参考点属于所述参考空间单元,则所述点被分类。
条款45.根据条款43-44中任一项所述的方法,其中如何将空间单元中的点分类取决于分类条件。
条款46.根据条款43-44中任一项所述的方法,其中所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别,并且所述部分点基于多个阈值被分类至所述第一类别或所述第二类别。
条款47.根据条款1-46中任一项所述的方法,其中基于所述分类执行所述转换包括:基于所述分类确定针对所述当前帧的全局运动信息;以及基于所述全局运动信息执行所述转换。
条款48.根据条款47所述的方法,其中所述全局运动信息包括通过利用样本和参考样本的最小均方(LMS)算法被确定的全局运动矩阵,所述样本基于所述当前帧中的点被确定,所述参考样本基于所述当前帧的参考帧中的参考点被确定。
条款49.根据条款47所述的方法,其中所述全局运动信息包括全局运动矩阵,并且基于所述全局运动信息执行所述转换包括:通过将所述全局运动矩阵应用于所述当前帧的参考帧中的所有点,获得具有运动补偿的参考帧;以及基于所述具有运动补偿的参考帧执行所述转换。
条款50.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,将所述当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;以及基于所述一组参考样本执行所述转换。
条款51.根据条款50所述的方法,还包括:将所述当前帧中的点分类至所述一组类别;以及通过对被分类至同一类别的点进行下采样,生成一组样本。
条款52.根据条款51所述的方法,其中执行所述转换包括:基于所述一组样本和所述一组参考样本生成全局运动信息;以及基于所述全局运动信息执行所述转换。
条款53.根据条款51-52中任一项所述的方法,其中所述一组样本中的样本与所述一组参考样本中的参考样本相关联,所述参考样本基于参考点被生成,所述参考点被分类至与用于生成所述样本的点相同的类别。
条款54.根据条款50-53中任一项所述的方法,其中所述参考点基于所述参考点的地理值或特征值被分类。
条款55.根据条款51-54中任一项所述的方法,其中所述点基于所述点的地理值或特征值被分类。
条款56.根据条款51-53中任一项所述的方法,其中如果所述参考帧中的参考点在所述参考帧中的所有参考点中具有与所述一组样本中的样本的最小欧几里得距离,则所述参考点被标记为所述样本的参考样本。
条款57.一种用于点云编解码的方法,包括:在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于所述当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;以及基于所述全局运动信息执行所述转换。
条款58.根据条款57所述的方法,其中确定所述全局运动信息包括:基于一组平面区域将所述当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及基于所述分类确定所述全局运动信息。
条款59.根据条款57所述的方法,其中确定所述全局运动信息包括:将所述当前帧中的目标点分配给多个空间单元中的一个,所述多个空间单元用于所述当前帧的全局运动估计过程;将所述目标点分类至一组类别;以及基于所述分类确定所述全局运动信息。
条款60.根据条款1-59中任一项所述的方法,其中所述转换包括将所述当前帧编码到所述码流中。
条款61.根据条款1-59中任一项所述的方法,其中所述转换包括从所述码流解码所述当前帧。
条款62.一种用于处理点云数据的装置,包括处理器和在其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据条款1-61中任一项所述的方法。
条款63.一种非暂态计算机可读存储介质,存储使处理器执行根据条款1-61中任一项所述的方法的指令。
条款64.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;以及基于所述分类生成所述码流。
条款65.一种用于存储点云序列的码流的方法,包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;基于所述分类生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
条款66.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;以及基于所述分类生成所述码流。
条款67.一种用于存储点云序列码流的方法,包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;基于所述分类生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
条款68.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;以及基于所述分类生成所述码流。
条款69.一种用于存储点云序列的码流的方法,包括:基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;基于所述分类生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
条款70.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:基于一组平面区域将所述点云序列的当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及基于所述分类生成所述码流。
条款71.一种用于存储点云序列的码流的方法,包括:基于一组平面区域将所述点云序列的当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;基于所述分类生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
条款72.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:将所述点云序列的当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;以及基于所述一组参考样本生成所述码流。
条款73.一种用于存储点云序列的码流的方法,包括:将所述点云序列的当前帧的参考帧中的参考点分类至一组类别;基于被分类至同一类别的参考点,生成一组参考样本;基于所述一组参考样本生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
条款74.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:基于所述点云序列的当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;以及基于所述全局运动信息生成所述码流。
条款75.一种用于存储点云序列的码流的方法,包括:基于所述点云序列的当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;基于所述全局运动信息生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
示例设备
图15示出了其中可以实现本公开的各种实施例的计算设备1500的框图。计算设备1500可以被实现为或包含在源设备110(或GPCC编码器116或200)或目的设备120(或GPCC解码器126或300)中。
应当理解的是,图15中所示的计算设备15000仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图15所示,计算设备1500包括通用计算设备1500。计算设备1500可以至少包括一个或多个处理器或处理单元1510、存储器1520、存储单元1530、一个或多个通信单元1540、一个或多个输入设备1550以及一个或多个输出设备1560。
在一些实施例中,计算设备1500可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备1500可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元1510可以是物理处理器或虚拟处理器,并且可以基于存储在存储器1520中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备1500的并行处理能力。处理单元1510也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备1500通常包括各种计算机存储介质。这样的介质可以是由计算设备1500可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器1520可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元1530可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备1500中被访问的介质。
计算设备1500还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图15中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元1540经由通信介质与另一计算设备通信。另外,计算设备1500中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备1500可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备1550可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备1560可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元1540,计算设备1500还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备1500还可以与一个或多个使用户能够与计算设备1500交互的设备通信,或任何使计算设备1500能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备1500的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
计算设备1500可以被用于实现本公开实施例中的点云编码,存储器1520可以包括具有一个或多个程序指令的一个或多个点云编解码模块1525。这些模块能够由处理单元1510访问和执行,以执行本文描述的各种实施例的功能。
在执行点云编码的示例实施例中,输入设备1550可以接收点云数据作为待编码的输入1570。点云数据可以由例如点云编解码模块1525处理,以生成经编码的码流。经编码的码流可以经由输出设备1560作为输出1580被提供。
在执行点云解码的示例实施例中,输入设备1550可以接收经编码的码流作为输入1570。经编码的码流可以由例如点云编解码模块1525处理,以生成经解码的点云数据。经解码的点云数据可以经由输出设备1560作为输出1580被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (75)
1.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;以及
基于所述分类执行所述转换。
2.根据权利要求1所述的方法,其中所述第二组中的所述阈值的数目为5,所述第一组中的所述类别的数目为2。
3.根据权利要求2所述的方法,其中所述第二组阈值包括第一阈值、第二阈值、第三阈值、第四阈值和第五阈值,所述第一阈值大于或等于所述第二阈值,所述第二阈值大于或等于所述第三阈值,所述第三阈值大于或等于所述第四阈值,所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别,并且将所述目标点分类包括以下至少一项:
如果所述目标点的高度小于所述第四阈值或大于所述第一阈值,将所述目标点分类至所述第一类别,
如果所述目标点的所述高度小于所述第二阈值且大于所述第三阈值,将所述目标点分类至所述第二类别,
如果所述目标点的所述高度小于或等于所述第一阈值且大于或等于所述第二阈值,并且所述目标点与邻近所述目标点的点之间的最大高度差大于所述第五阈值,将所述目标点分类至所述第一类别,
如果所述目标点的所述高度小于或等于所述第三阈值且大于或等于所述第四阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差大于所述第五阈值,将所述目标点分类至所述第一类别,
如果所述目标点的所述高度小于或等于所述第一阈值且大于或等于所述第二阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差小于或等于所述第五阈值,将所述目标点分类至所述第二类别,或者
如果所述目标点的所述高度小于或等于所述第三阈值且大于或等于所述第四阈值,并且所述目标点与邻近所述目标点的点之间的所述最大高度差小于或等于所述第五阈值,将所述目标点分类至所述第二类别。
4.根据权利要求1-3中任一项所述的方法,其中所述第二组中的至少一个阈值是预定义的。
5.根据权利要求1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列中的点的高度被确定。
6.根据权利要求1-5中任一项所述的方法,其中所述第二组中的至少一个阈值的值不同于被用于所述点云序列中的另一点的所述至少一个阈值的值。
7.根据权利要求1-6中任一项所述的方法,其中所述第二组中的至少一个阈值在所述码流中被指示。
8.根据权利要求1-7中任一项所述的方法,其中所述第二组中的至少一个阈值在编码器处被生成。
9.根据权利要求1-6中任一项所述的方法,其中所述第二组中的至少一个阈值在解码器处被生成。
10.根据权利要求1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列的所述当前帧或另一帧中的至少一个被生成。
11.根据权利要求10所述的方法,其中所述另一帧包括所述当前帧的参考帧。
12.根据权利要求10-11中任一项所述的方法,其中所述另一帧的指示在所述码流中被指示。
13.根据权利要求10所述的方法,其中所述另一帧是预定义的。
14.根据权利要求13所述的方法,其中所述另一帧包括具有参考帧索引等于0的参考帧。
15.根据权利要求1-3中任一项所述的方法,其中所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成。
16.根据权利要求15所述的方法,其中具有特定直方图二进制位大小的所述直方图至少基于所述当前帧中的部分点被生成,或者
所述直方图至少基于先前经编解码的部分点被生成。
17.根据权利要求15-16中任一项所述的方法,其中所述点云序列中的点是否被用于生成所述直方图取决于所述点的特性。
18.根据权利要求17所述的方法,其中如果所述点的高度值在预设范围内,则所述点被使用来生成所述直方图。
19.根据权利要求15-18中任一项所述的方法,其中所述至少一个阈值基于所述直方图的均方差被生成。
20.根据权利要求1-20中任一项所述的方法,其中所述第二组中的至少一个阈值在被使用之前被处理。
21.根据权利要求1-2中任一项所述的方法,其中将所述目标点分类包括:
将所述目标点的地理值或特征值与所述第二组中的至少一个阈值相比较;以及
基于所述比较将所述目标点分类。
22.根据权利要求1-2中任一项所述的方法,其中将所述目标点分类包括:
将目标差与所述第二组中的至少一个阈值相比较,所述目标差指示所述目标点与邻近所述目标点的至少一个点之间的地理值差或特征值差;以及
基于所述比较将所述目标点分类。
23.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;以及
基于所述分类执行所述转换。
24.根据权利要求23所述的方法,其中所述另一帧包括所述当前帧的参考帧。
25.根据权利要求23-24中任一项所述的方法,其中所述另一帧的指示在所述码流中被指示。
26.根据权利要求23所述的方法,其中所述另一帧是预定义的。
27.根据权利要求26所述的方法,其中所述另一帧包括具有参考帧索引等于0的参考帧。
28.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于第二组阈值将所述当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;以及
基于所述分类执行所述转换。
29.根据权利要求28所述的方法,其中如果所述点的高度值在预设范围内,则所述点云序列中的点被使用来生成所述直方图。
30.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于一组平面区域将所述当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及
基于所述分类执行所述转换。
31.根据权利要求30所述的方法,其中所述一组平面区域中的每一个平面区域是长方体,并且所述当前帧中的每一个点基于所述点的坐标被分配给所述一组平面区域中的一个平面区域。
32.根据权利要求30-31中任一项所述的方法,其中所述当前帧的参考帧包括至少一个参考平面区域,并且所述参考帧中的参考点属于至少一个参考平面区域。
33.根据权利要求30-32中任一项所述的方法,其中针对所述当前帧中的平面区域,所述当前帧的参考帧包括或不包括对应于所述平面区域的参考平面区域。
34.根据权利要求30-33中任一项所述的方法,其中平面区域中的点是否要被分类取决于所述当前帧的参考帧中的参考平面区域,所述参考平面区域对应于所述平面区域。
35.根据权利要求34所述的方法,其中如果至少一个参考点属于所述参考平面区域,则所述点被分类。
36.根据权利要求30-35中任一项所述的方法,其中如何将平面区域中的点分类取决于分类条件。
37.根据权利要求30-35中任一项所述的方法,其中所述部分点基于多个阈值被分类至第一组类别,所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别。
38.根据权利要求1-29中任一项所述的方法,其中将所述目标点分类包括:
将所述目标点分配给多个空间单元中的一个,所述多个空间单元用于所述当前帧的全局运动估计过程;以及
基于所述分配将所述目标点分类。
39.根据权利要求38所述的方法,其中所述当前帧的参考帧包括至少一个参考空间单元,并且所述参考帧中的参考点属于至少一个参考空间单元。
40.根据权利要求39所述的方法,其中所述至少一个参考空间单元是至少一个参考块或至少一个平面区域,至少一个平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度。
41.根据权利要求39-40中任一项所述的方法,还包括:
将所述目标点的参考点分配给所述至少一个参考空间单元,所述参考点在所述参考帧中,以及
如果参考点被分配给所述参考空间单元,则标记参考空间单元。
42.根据权利要求38-41中任一项所述的方法,其中针对所述当前帧中的空间单元,所述当前帧的参考帧包括或不包括对应于所述空间单元的参考空间单元。
43.根据权利要求38-42中任一项所述的方法,执行所述转换包括:
将所述当前帧中的至少部分点分类至所述第一组类别,空间单元中的点是否要被分类取决于所述当前帧的参考帧中的参考空间单元,所述参考空间单元对应于所述空间单元;以及
基于所述分类执行所述转换。
44.根据权利要求43所述的方法,其中如果至少一个参考点属于所述参考空间单元,则所述点被分类。
45.根据权利要求43-44中任一项所述的方法,其中如何将空间单元中的点分类取决于分类条件。
46.根据权利要求43-44中任一项所述的方法,其中所述第一组类别包括与物体点相关联的第一类别和与道路点相关联的第二类别,并且所述部分点基于多个阈值被分类至所述第一类别或所述第二类别。
47.根据权利要求1-46中任一项所述的方法,其中基于所述分类执行所述转换包括:
基于所述分类确定针对所述当前帧的全局运动信息;以及
基于所述全局运动信息执行所述转换。
48.根据权利要求47所述的方法,其中所述全局运动信息包括通过利用样本和参考样本的最小均方(LMS)算法被确定的全局运动矩阵,所述样本基于所述当前帧中的点被确定,所述参考样本基于所述当前帧的参考帧中的参考点被确定。
49.根据权利要求47所述的方法,其中所述全局运动信息包括全局运动矩阵,并且基于所述全局运动信息执行所述转换包括:
通过将所述全局运动矩阵应用于所述当前帧的参考帧中的所有点,获得具有运动补偿的参考帧;以及
基于所述具有运动补偿的参考帧执行所述转换。
50.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,将所述当前帧的参考帧中的参考点分类至一组类别;
基于被分类至同一类别的参考点,生成一组参考样本;以及
基于所述一组参考样本执行所述转换。
51.根据权利要求50所述的方法,还包括:
将所述当前帧中的点分类至所述一组类别;以及
通过对被分类至同一类别的点进行下采样,生成一组样本。
52.根据权利要求51所述的方法,其中执行所述转换包括:
基于所述一组样本和所述一组参考样本生成全局运动信息;以及
基于所述全局运动信息执行所述转换。
53.根据权利要求51-52中任一项所述的方法,其中所述一组样本中的样本与所述一组参考样本中的参考样本相关联,所述参考样本基于参考点被生成,所述参考点被分类至与用于生成所述样本的点相同的类别。
54.根据权利要求50-53中任一项所述的方法,其中所述参考点基于所述参考点的地理值或特征值被分类。
55.根据权利要求51-54中任一项所述的方法,其中所述点基于所述点的地理值或特征值被分类。
56.根据权利要求51-53中任一项所述的方法,其中如果所述参考帧中的参考点在所述参考帧中的所有参考点中具有与所述一组样本中的样本的最小欧几里得距离,则所述参考点被标记为所述样本的参考样本。
57.一种用于点云编解码的方法,包括:
在点云序列的当前帧和所述点云序列的码流之间的转换期间,基于所述当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;以及
基于所述全局运动信息执行所述转换。
58.根据权利要求57所述的方法,其中确定所述全局运动信息包括:
基于一组平面区域将所述当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及
基于所述分类确定所述全局运动信息。
59.根据权利要求57所述的方法,其中确定所述全局运动信息包括:
将所述当前帧中的目标点分配给多个空间单元中的一个,所述多个空间单元用于所述当前帧的全局运动估计过程;
将所述目标点分类至一组类别;以及
基于所述分类确定所述全局运动信息。
60.根据权利要求1-59中任一项所述的方法,其中所述转换包括将所述当前帧编码到所述码流中。
61.根据权利要求1-59中任一项所述的方法,其中所述转换包括从所述码流解码所述当前帧。
62.一种用于处理点云数据的装置,包括处理器和在其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-61中任一项所述的方法。
63.一种非暂态计算机可读存储介质,存储使处理器执行根据权利要求1-61中任一项所述的方法的指令。
64.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;以及
基于所述分类生成所述码流。
65.一种用于存储点云序列的码流的方法,包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目大于所述第一组中的类别的数目;
基于所述分类生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
66.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;以及
基于所述分类生成所述码流。
67.一种用于存储点云序列码流的方法,包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列的另一帧被生成;
基于所述分类生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
68.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;以及
基于所述分类生成所述码流。
69.一种用于存储点云序列的码流的方法,包括:
基于第二组阈值将所述点云序列的当前帧中的目标点分类至第一组类别,所述第二组中的阈值的数目等于所述第一组中的类别的数目,所述第二组中的至少一个阈值基于所述点云序列中的点的几何特征的直方图被生成,所述直方图基于所述点的特性被生成;
基于所述分类生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
70.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
基于一组平面区域将所述点云序列的当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;以及
基于所述分类生成所述码流。
71.一种用于存储点云序列的码流的方法,包括:
基于一组平面区域将所述点云序列的当前帧中的至少部分点分类,所述一组平面区域中的每一个平面区域是三维的并且具有的高度等于所述当前帧的边界框的高度;
基于所述分类生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
72.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
将所述点云序列的当前帧的参考帧中的参考点分类至一组类别;
基于被分类至同一类别的参考点,生成一组参考样本;以及
基于所述一组参考样本生成所述码流。
73.一种用于存储点云序列的码流的方法,包括:
将所述点云序列的当前帧的参考帧中的参考点分类至一组类别;
基于被分类至同一类别的参考点,生成一组参考样本;
基于所述一组参考样本生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
74.一种非暂态计算机可读记录介质,存储点云序列的通过由点云处理装置执行的方法生成的码流,其中所述方法包括:
基于所述点云序列的当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;以及
基于所述全局运动信息生成所述码流。
75.一种用于存储点云序列的码流的方法,包括:
基于所述点云序列的当前帧的多个参考帧,确定针对所述当前帧的全局运动信息;
基于所述全局运动信息生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021104401 | 2021-07-04 | ||
CNPCT/CN2021/104401 | 2021-07-04 | ||
PCT/CN2022/103766 WO2023280129A1 (en) | 2021-07-04 | 2022-07-04 | Method, apparatus, and medium for point cloud coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117693936A true CN117693936A (zh) | 2024-03-12 |
Family
ID=84801268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280047850.XA Pending CN117693936A (zh) | 2021-07-04 | 2022-07-04 | 用于点云编解码的方法、装置和介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240233191A9 (zh) |
CN (1) | CN117693936A (zh) |
WO (1) | WO2023280129A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11297346B2 (en) * | 2016-05-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
EP3349182A1 (en) * | 2017-01-13 | 2018-07-18 | Thomson Licensing | Method, apparatus and stream for immersive video format |
EP3399757A1 (en) * | 2017-05-04 | 2018-11-07 | Thomson Licensing | Method and apparatus to encode and decode two-dimension point clouds |
EP3633621A1 (en) * | 2018-10-02 | 2020-04-08 | BlackBerry Limited | Predictive coding of point clouds using multiple frames of references |
CN111145090B (zh) * | 2019-11-29 | 2023-04-25 | 鹏城实验室 | 一种点云属性编码方法、解码方法、编码设备及解码设备 |
-
2022
- 2022-07-04 WO PCT/CN2022/103766 patent/WO2023280129A1/en active Application Filing
- 2022-07-04 CN CN202280047850.XA patent/CN117693936A/zh active Pending
-
2023
- 2023-12-28 US US18/399,563 patent/US20240233191A9/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240135591A1 (en) | 2024-04-25 |
US20240233191A9 (en) | 2024-07-11 |
WO2023280129A1 (en) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240135592A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023280129A1 (en) | Method, apparatus, and medium for point cloud coding | |
US20240267527A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023202538A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023131132A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024149203A1 (en) | Method, apparatus, and medium for point cloud coding | |
US20240244249A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024008019A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024175011A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024160290A1 (en) | Method, apparatus, and medium for point cloud coding | |
US20240242393A1 (en) | Method, apparatus and medium for point cloud coding | |
US20240320866A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023093865A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024077911A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023198168A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024074122A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023131126A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023093785A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023066345A1 (en) | Method, apparatus and medium for point cloud coding | |
WO2023131131A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024074121A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2024083194A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023116897A1 (en) | Method, apparatus, and medium for point cloud coding | |
US20240249441A1 (en) | Method, apparatus and medium for point cloud coding | |
CN118318451A (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 |