CN113259678A - 对点云信息进行编解码的方法和装置 - Google Patents

对点云信息进行编解码的方法和装置 Download PDF

Info

Publication number
CN113259678A
CN113259678A CN202011576684.1A CN202011576684A CN113259678A CN 113259678 A CN113259678 A CN 113259678A CN 202011576684 A CN202011576684 A CN 202011576684A CN 113259678 A CN113259678 A CN 113259678A
Authority
CN
China
Prior art keywords
objects
encoding
occupancy information
point cloud
encoded
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
CN202011576684.1A
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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
Priority claimed from US17/080,044 external-priority patent/US11417030B2/en
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN113259678A publication Critical patent/CN113259678A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种对点云的信息进行编解码的方法和装置。该方法包括:获取点云,所述点云包括三维空间中的一组点;将所述点云分割成多个对象,并且为所述多个对象中的每个对象生成占用信息;及通过考虑所述多个对象之间的距离来对所述占用信息进行编码。

Description

对点云信息进行编解码的方法和装置
背景技术
近些年来,点云建模被广泛使用。例如,点云可以在自主驾驶车辆中用于对象检测和定位,可以在地理信息系统(geographic information system,GIS)中用于绘图,以及可以在文化遗产项目中用于对文化遗产对象和收藏品进行可视化和存档等。
点云包含一组高维点(通常是三维(3D)),每个高维点包括3D位置信息和附加属性,如颜色、反射率等。高维度的点集可使用多个照相机和深度传感器在各种部署方式中通过光检测和测距(Light Detection and Ranging,LIDAR)来拍摄,并且可由数千到数十亿个点组成,以真实地表示原始场景。
需要使用压缩技术来减少表示点云所需的数据量,以进行更快的传输和/或减少存储。如非专利文献1和非专利文献2中所解释的,动态图像专家组(Moving PictureExperts Group,MPEG)已创建了一个联合技术委员会(JTC 1/SC 29/WG 11)和一个特设组(MPEG-PCC)来对用于静态和/或动态点云的压缩技术进行标准化。其中,MPEG是国际标准化组织(International Organization for Standardization,ISO)和国际电工委员会(International Electrotechnical Commission,IEC)的一个工作组。
非专利文献1:点云压缩用例(Use Cases for Point Cloud Compression),JTC1/SC29 WG11文献编号N16331,2016年6月以中文发布于日内瓦。
非专利文献2:点云压缩的需求(Requirements for Point Cloud Compression),JTC1/SC29 WG11文献编号N16330,2016年6月以中文发布于日内瓦。
发明内容
本申请涉及点云编解码(Point Cloud Coding,PCC)。如本文所描述的,例如为了进行点云压缩,详细描述了占用信息编解码的上下文建模方法。
根据本申请的一方面,一种对点云信息进行编解码的方法可以由至少一个处理器执行,并且可以包括:获取点云,所述点云包括三维空间中的一组点;将所述点云分割成多个对象,并为所述多个对象中的每个对象生成占用信息;及,通过考虑所述多个对象之间的距离来对所述占用信息进行编码。
根据本申请的一方面,该方法的执行方式可以为:逐个对象执行所述占用信息的编码,使得基于所述多个对象中的周围对象的分类来对待编码的下一项占用信息进行编码,所述周围对象的分类是基于所述多个对象之间的距离进行的。
根据本申请的另一方面,该方法的执行方式可以为:使用上下文索引来对所述占用信息进行编码,所述上下文索引由使用以下公式的查找表定义:LUT{ctxIdx}{ctxIdxChild},其中,LUT是查找表,ctxIdx是所述多个对象中的一个节点,且ctxIdxChild是所述多个对象中的一个子节点。
根据本申请的另一方面,该方法的执行方式可以为:点云的分割使用灵活的树分割方式。
根据本申请的另一方面,该方法的执行方式可以为:点云的分割使用深度优先分割方式。
根据本申请的另一方面,该方法的执行方式可以为:逐个地对所述对象执行所述占用信息的编码,从而基于所述多个对象中的周围对象的分类来对要编码的下一项占用信息进行编码,所述周围对象已经过编码并且是基于所述多个对象之间的距离来分类的。
根据本申请的另一方面,该方法的执行方式可以为:逐个地对所述对象执行占用信息的编码,从而基于对所述多个对象中的周围对象的分类来对待编码的下一项占用信息进行编码,所述周围对象中的至少部分对象已经过编码或部分编码,并且是基于所述多个对象之间的距离来分类的。
根据本申请的一方面,一种用于对点云的信息进行编解码的装置可以包括:至少一个存储器,用于存储计算机程序代码;以及至少一个处理器,用于访问所述至少一个存储器并且根据所述计算机程序代码进行操作;所述计算机程序代码可以包括:获取代码,用于获取点云,所述点云包括三维空间中的一组点;分割代码,用于将所述点云分割成多个对象,并且为所述多个对象中的每个对象生成占用信息;以及编码代码,用于通过考虑所述多个对象之间的距离来对所述占用信息进行编码。
根据本申请的一方面,编码代码可以用于逐个对象地对所述占用信息进行编码,从而基于所述多个对象中的周围对象的分类来对待编码的下一项占用信息进行编码,所述周围对象是基于所述多个对象之间的距离来分类的。
根据本申请的另一方面,编码代码可以用于使用上下文索引来对所述占用信息进行编码,所述上下文索引由使用以下公式的查找表定义:LUT{ctxIdx}{ctxIdxChild},其中,LUT是查找表,ctxIdx是多个对象中的一个节点,并且ctxIdxChild是多个对象中的一个子节点。
根据本申请的另一方面,分割代码可以用于使用灵活的树分割方案来对点云进行分割。
根据本申请的另一方面,分割代码可以用于使用深度优先分割方案来对点云进行分割。
根据本申请的另一方面,所述编码代码可以用于逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类来对待编码的下一项占用信息进行编码,所述周围对象已经过编码且基于所述多个对象之间的距离被分类。
根据本申请的一方面,可以提供存储指令的非暂时性计算机可读存储介质,所述指令使至少一个处理器:获取点云,所述点云包括三维空间中的一组点;将所述点云分割成多个对象,并且为所述多个对象中的每个对象生成占用信息;以及通过考虑所述多个对象之间的距离来对所述占用信息进行编码。
附图说明
图1是三维空间中的八叉树分割法的示意图。
图2是八叉树分割和树结构的示意图。
图3是相邻节点的分类的示意图。
图4是相邻节点的分类的示意图。
图5是非立方体节点的相邻节点的示意图。
图6是对点云的信息进行编解码的示例方法的流程图。
图7是本申请的系统和/或方法的实施环境示例的示意图。
图8是图7的至少一个设备的示例性部件的示意图。
具体实施方式
MPEG测试模型13(TMC13)中的点云压缩
如非专利文献3和非专利文献4中所描述的,在MPEG公布的测试模型13(testmodel for categories 1and 3,TMC13)编解码器中,点云中的各点的几何形态信息和相关的属性,如颜色或反射率,是分别压缩的。几何形态信息(例如点云的3D坐标)及其占用信息利用八叉树(octree,OT)分割法进行编码。然后,基于重建的几何形态结构,使用预测、提升和区域自适应分层变换技术对属性进行压缩。八叉树分割法和占用信息编码过程在下面详细描述。
非专利文献3:G-PCC编解码器说明(G-PCC Codec description),ISO/IEC JTC1/SC29/WG11文献编号N18891,2019年10月。
非专利文献4:ISO/IEC CD 23090-9基于几何形态的点云压缩的文本(G-PCCCodec description),ISO/IEC JTC1/SC29 WG11文献编号N18478,2019年7月,日内瓦。
八叉树分割法
在TMC13中,若使用八叉树几何形态编解码器,则几何形态编码按如下方式进行。首先,与立方体轴对齐的边界框B由两个点(0,0,0)和(2M-1,2M-1,2M-1)限定,其中2M-1限定了B的大小,M在比特流中给出。然后,以递归的方式对B进行进一步划分来建立八叉树结构。在每个阶段,一个立方体被进一步分为8个子立方体。然后,通过将每个子立方体与1个比特值进行关联来生成8比特代码,即占用码(occupancy code),以指示其包含点(即,是否满且值为1)或不包含点(即,是否空且值为0)。只有大小大于1的满的子立方体(即,非体积元素)才被进一步细分。图1为三维空间中八叉树分割法的示意图。
图2中示出了两级八叉树分割法和对应的占用码的示例,其中,暗色立方体和节点表示它们被点占用。
对占用码进行编码
然后,每个节点的占用码由算术编码器压缩。占用码可以表示为S,S是8比特整数,并且S中的每个比特指示每个子节点的占用状态。TMC13中存在两种占用码的编码方法,即,逐位编码方法和逐字节编码方法。默认启用逐位编码。在两种方法中,采用具有上下文建模的算术编码来对占用码进行编码,其中,上下文状态在整个编码过程的开始被初始化,并且在编码过程中被更新。
对于逐位编码,以某一顺序对S中的八个二进制数进行编码,其中,通过参考相邻节点的占用状态和相邻节点的子节点的占用状态来对每个二进制数进行编码,其中相邻节点与当前节点处于相同层次。
对于逐字节编码,通过参考以下信息对S进行编码:
·自适应查找表(adaptive look up table,A-LUT),其中记录N个(例如,32个)最频繁使用的占用码,及
·高速缓存(cache),其中记录最近观测到的M个(例如,16个)不同的占用码。
对指示S是否在A-LUT中的二进制标志进行编码。若S在A-LUT中,则通过使用二进制算术编码器来对A-LUT中的索引进行编码。若S不在A-LUT中,则对指示S是否在高速缓存中的二进制标志进行编码。若S在高速缓存中,则通过使用二进制算术编码器来对S的索引的二进制表示进行编码。否则,若S不在高速缓存中,则通过使用二进制算术编码器来对S的二进制表示进行编码。
解码过程以解析比特流中的边界框B的维度开始。然后,通过根据已解码的占用码来对B进行细分来建立相同的八叉树结构。
然而,在上面讨论的编解码器方案中,基于八叉树分割法的表示对于服务于不同目的的点云的不同特性来说可能不够灵活。也就是说,压缩效率可能受到限制。在非专利文献5中已经提到了四叉树(quad-tree,QT)和二叉树(binary-tree,BT)的使用以及其它灵活的分割方案,并且在下文中讨论了关于点云的编解码。如本文所述,仅使用树结构的一个遍历顺序(广度优先或深度优先)可能不适合于所有应用场景。
非专利文献5:用于点云编解码的隐式几何分割方案,美国临时申请523568US。
因此,提出了在非专利文献6中简要讨论的混合遍历顺序。可以改变占用信息编解码的上下文建模方式以充分利用相邻的已编码节点。这样提高了编码效率,并且适应了灵活的分割方案和遍历顺序。
非专利文献6:点云编解码的混合编解码顺序,美国临时申请527115US。
所提出的方法和装置可单独使用或以任何顺序组合使用。此外,各方法(或实施例)、编码器和解码器中的每一个可由处理电路(例如,至少一个处理器或至少一个集成电路)实施。在一个示例中,至少一个处理器执行存储在非暂时性计算机可读介质中的程序。此外,本文的公开内容不限于与TMC13软件或MPEG-PCC标准有关的用途。
占用信息的二值化
根据各实施例,如果一个节点被分割成N个子节点,则生成N比特占用码,即bN- 1bN-2…b0,其中每个比特bi表示第i个子节点是被占用还是空的。通常,bi等于1表示第i个子节点被至少一个点占用,而bi等于0表示第i个子节点为空。
在另一实施例中,bi等于0表示第i个子节点被至少一个点占用,而bi等于1表示第i个子节点为空。对于那些被占用的子节点,这些子节点可以被进一步分割,直到到达叶节点。
根据各实施例,可以以任意顺序定义占用码中的比特的编解码顺序。对于N比特代码,编解码顺序的最大数是
Figure BDA0002864356080000061
为了表示不同粒度的编解码顺序,可以指定如下:
·将预定义的编解码顺序应用于所有节点、所有点云,不需要额外的比特来指定编解码顺序;
·将特定的编解码顺序应用于特定的点云,可以在码流的序列头中指定编解码顺序;
·将特定的编解码顺序应用于点云的每个帧,可以在码流的帧头中指定编解码顺序;
·将特定的编解码顺序应用于点云的每个条带,可以在码流的条带头中指定编解码顺序;
·将特定的编解码顺序应用于点云的每个分割深度的节点,可以在每个分割深度的开始处指定编解码顺序;该模式是适用于以广度优先顺序遍历树结构的情况;
·将特定的编解码顺序应用于一个节点和该节点的所有后代节点,可以在对该节点进行编码之前指定编解码顺序。这种模式是适用于以深度优先顺序遍历树结构的情况;
·将特定的编解码顺序应用于点云的每个节点,可以在对每个节点进行编码之前指定编解码顺序;
·当满足某一适格条件时,将特定的编解码顺序应用于点云的节点。可以在每个分割深度中为广度优先顺序指定编解码顺序,或者可以在祖先节点中为深度优先顺序指定指定编解码顺序,或者可以在条带头、帧头或序列头中指定编解码顺序,或者可以将默认编解码顺序应用于点云中不满足该适格条件的其余节点。
根据各实施例,可以通过从一组候选编解码顺序中选择需要最少比特的一个候选编解码顺序来选择优先编解码顺序。可用信号表示索引以指示特定的编解码顺序。该索引可以通过具有概率和上下文更新的旁路编码或熵编码来编码。
占用码的旁路编码
根据各实施例,可以用较少的比特来表示占用码,并且可以相应地使用旁路编码。
一个实施例中,如果当前节点仅具有一个被占用的子节点,则对该被占用节点的位置进行编码是可接受的。首先指定标志以指示当前节点是否仅包括一个被占用的子节点,如果是,则对八叉树分割方案的3比特索引进行编码,对四叉树分割方案的2比特索引进行编码,以及对二叉树分割方案的1比特索引进行编码。否则,对当前节点的占用码进行正常编码。该模式是否适用可以由被占用的相邻节点的数量或其它条件来确定;仅在模式适用时才对该标志和索引进行编码。例如,可以定义阈值。该模式仅适用于被占用的相邻节点的数量小于阈值的情况。
在另一实施例中,如果当前节点仅具有一个未被占用的子节点,则相当于对未被占用的节点的位置进行编码。可以首先指定标志以指示当前节点是否仅包括一个未被占用的子节点,如果是,则对八叉树分割方案的3比特索引进行编码,对四叉树分割方案的2比特索引进行编码,对二叉树分割方案的1比特索引进行编码。否则,对当前节点的占用码进行正常编码。该模式是否适用可以由被占用的相邻节点的数量或其它条件来确定;在模式适用时对标志和索引进行编码。例如,可以定义阈值,该模式仅在被占用的相邻节点的数量大于阈值时才适用。
占用信息编码中的上下文建模
根据各实施例,在对当前节点进行编码之前,可以在本申请的占用信息编码的上下文建模过程中使用所有已编码的节点。为了简化上下文建模,仅使用与当前节点最接近的已编码节点。如本文所解释的,可以使用多种方法来简化上下文。
基于距离的上下文建模
根据各实施例,对当前节点的占用码进行编码时,相邻已编码节点可以根据它们到当前节点的距离来分类。图3和图4中示出了基于距离的分类的2D图示,其中两个节点之间的距离分别由距离l2和l1来测量。与当前节点具有相同距离的已编码节点被分类为相同类型。然后,可以根据距离对不同的类(即,C1,C2,…,CK)进行排序,其中,Ci是与当前节点的接近程度排在第i位的一组已编码节点,并且K是组的数目。上下文索引可以计算为:
ctxIdx=N1·(M2M3…MK)+N2·(M3M4…MK)+…+NK
其中,Ni表示组i中已占用的节点数,并且Mi表示组i中节点的最大数目。
类似地,根据各实施例,当对每个子节点的占用信息比特进行编解码时,可以使用相同的方法来获得每个子节点的上下文索引,即ctxIdxChild。然后,可以基于推导出的ctxIdx和ctxIdxChild通过熵编码来对当前节点的占用码进行编码。例如,最终的上下文索引,即,idx,可以通过查找表LUT按如下方式获得,
idx=LUT[ctxIdx][ctxIdxChild].
在另一实施例中,使用一种技术,其中为每一个Ci定义阈值Ti。如果Ni≥Ti,则按如下方式添加正偏置分值。
Figure BDA0002864356080000081
其中,
Figure BDA0002864356080000082
最终得分用作当前节点的上下文索引。
根据各实施例,如果允许灵活的树分割方案,其中启用了对称和非对称的八叉树分割、四叉树分割和二叉树分割,则当前节点可以不是立方体,并且在某些维度上可以具有不同的大小。在这些情况下,当前节点的相邻节点可定义为具有与当前节点相同大小的已编码相邻节点,如图5中的2D所示。在基于距离的上下文建模中,相邻节点的距离顺序可以相应地改变。例如,在图5中,两个垂直方向上的相邻节点比两个水平方向上的相邻节点更靠近中心节点。
根据各实施例,如果使用深度优先遍历顺序,则在当前节点之前仅对当前节点的部分相邻节点和当前节点的父节点的部分相邻节点进行了编码,因此仅部分上下文信息可用于当前节点的上下文建模。然而,对于那些已编码的相邻节点,从当前分割深度到叶节点的完整占用信息可用于当前节点的上下文建模。
图6是对点云的信息进行编解码的示例方法600的流程图。在一些实施方案中,图6的至少一个步骤块可以由用户设备710来执行。在一些实施方案中,图6的至少一个步骤块可以由与用户设备710独立或包括用户设备710的另一个设备或一组设备来执行,例如平台720。
如图6所示,方法600可以包括获取点云(框610),该点云包括三维空间中的一组点。
该点云可以是3维空间中的一组点,每个点具有相关联的属性,例如颜色、材料属性等。
如图6进一步所示,方法600可以包括将点云分割成多个对象(框620),为多个对象中的每个对象生成占用信息(框630),以及通过考虑多个对象之间的距离来对占用信息进行编码(框640)。
图7是其中可以实现本文描述的系统和/或方法的通信系统700示例的示意图。如图7所示,通信系统700可以包括用户设备710、平台720和网络730。通信系统700的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。
通信系统700可以支持数据的单向传输。例如,第一用户设备710可以在本地位置处对视频数据进行编码,以便经由网络730传输到第二用户设备710。第二用户设备710可以从网络730接收第一用户设备710的已编码视频数据,对已编码数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务应用等中较为常见。
通信系统700可以支持数据的双向传输。例如,通信系统700可以支持例如在视频会议期间可能发生的已编码视频的双向传输。对于数据的双向传输,每个用户设备710可以对在本地位置处采集的视频数据进行编码,以便经由网络730传输到另一用户设备710。每个用户设备710还可以接收由另一个用户设备710传输的已编码视频数据,可以对已编码数据进行解码,并且可以在本地显示设备上显示恢复的视频数据。
用户设备710包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理、和/或提供与平台720相关联的信息。例如,用户设备710可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,智能眼镜或智能手表),或相似设备。在一些实施方式中,用户设备710可以从平台720接收信息和/或向平台720发送信息。
平台720包括如本文中其它地方所描述的可以向用户设备710提供信息的至少一个设备。在一些实施方式中,平台720可以包括云服务器或云服务器组。在一些实施方式中,平台820可以采用模块化设计,使得可以根据特定需要换入或换出软件组件。这样,可以针对不同的用途容易地和/或快速地重新配置平台720。
在一些实施方式中,如图所示,平台720可以被托管(hosted)在云计算环境722中。值得注意的是,虽然本文所述的实施方式将平台720描述为托管在云计算环境722中,但是在一些实施方式中,平台720可能不是基于云的(即,可以在云计算环境外部实现)或者可以是部分基于云的。
云计算环境722包括托管平台720的环境。云计算环境722可以提供计算、软件、数据存取、存储等服务,这些服务不需要终端用户(例如,用户设备710)了解托管平台720的系统和/或设备的物理位置和配置。如图所示,云计算环境722可以包括一组计算资源724(统称为“计算资源(computing resources)724”,分别称为“计算资源(computing resource)724”)。
计算资源724包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实施方式中,计算资源724可以托管平台720。云资源可以包括在计算资源724中执行的计算实例、在计算资源724中提供的存储设备、由计算资源724提供的数据传输设备,等。在一些实施方式中,计算资源724可以通过有线连接、无线连接或有线和无线连接的组合与其它计算资源724通信。
进一步如图7所示,计算资源724包括一组云资源,例如一个或多个应用程序(application,APP)724-1、一个或多个虚拟机(virtual machine,VM)724-2、虚拟化存储(virtualized storage,VS)724-3、一个或多个管理程序(hypervisor,“HYP”)724-4等。
应用程序724-1包括一个或多个软件应用程序,其可以提供给用户设备710和/或平台720,或由用户设备710和/或平台720访问。应用程序724-1使得用户设备710无需安装和执行软件应用程序。例如,应用程序724-1可以包括与平台720关联的软件,和/或,能够通过云计算环境722提供的任何其它软件。在一些实施方式中,一个应用程序724-1可以通过虚拟机724-2向/从一个或多个其它应用程序724-1发送/接收信息。
虚拟机724-2包括机器(例如,计算机)的软件实现,虚拟机724-2像物理机那样执行程序。虚拟机724-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机724-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整系统平台,其支持完整操作系统(“OS”)的执行。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机724-2可以代表用户(例如,用户设备710)执行,并且可以管理云计算环境722的基础架构,例如数据管理、同步、或长期数据传输。
虚拟化存储724-3包括一个或多个存储系统和/或一个或多个设备,该一个或多个存储系统和/或设备在计算资源724的存储系统或设备内使用虚拟化技术。在一些实施方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指从物理存储抽象(或分离)出逻辑存储,从而可以在不考虑物理存储或异构结构的情况下访问存储系统。上述分离可以允许存储系统的管理员灵活地管理终端用户的存储。文件虚拟化可以消除在文件层次存取的数据与物理存储文件的位置之间的依赖性。这可以优化存储使用、服务器整合、和/或无中断文件迁移的性能。
管理程序(Hypervisor)724-4可以提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在诸如计算资源724的主计算机上同时执行。管理程序724-4可以向客户操作系统提供虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络730包括一个或多个有线和/或无线网络。例如,网络730可以包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PublicLand Mobile Network,PLMN)、局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、城域网(Metropolitan Area Network,MAN)、电话网络(例如,公共交换电话网络(Public Switched Telephone Network,PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
图7所示的设备和网络的数量和排列是提供的一个示例。实际中,与图7所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图7所示的两个或更多个设备可以在单个设备内实现,或者图7所示的单个设备可以由多个分布式设备实现。另外或可替代地,环境700的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图8是设备800的示例组件的示意图。设备900可以对应于用户设备710和/或平台720。如图8所示,设备800可以包括总线810、处理器820、存储器830、存储组件840、输入组件850、输出组件860和通信接口870。
总线810包括允许设备800的组件之间进行通信的组件。处理器820以硬件、固件或硬件和软件的组合来实现。处理器820是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实施方式中,处理器820包括一个或多个能够被编程以执行功能的处理器。存储器830包括随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储供处理器820使用的信息和/或指令。
存储组件840存储与设备800的操作和使用相关的信息和/或软件。例如,存储组件940可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、光盘(CD)、数字通用盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非易失性计算机可读介质,以及相应的驱动器。
输入组件850包括允许设备800例如通过用户输入接收信息的组件,例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风。另外或可替代地,输入组件850可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件860包括提供来自设备800的输出信息的组件,例如,显示器、扬声器和/或一个或多个发光二极管(LED)。
通信接口870包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),该组件使设备800能够例如通过有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口870可以允许设备800从另一设备接收信息和/或向另一设备提供信息。例如,通信接口870可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备800可以执行本文中所描述的一个或多个过程。设备800可以响应于处理器820执行由非易失性计算机可读介质(例如存储器830和/或存储组件840)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。
软件指令可以通过通信接口870从另一计算机可读介质或从另一设备读入存储器830和/或存储组件840。当被执行时,存储在存储器830和/或存储组件840中的软件指令可以使处理器820执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬件连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。
图8所示的组件的数量和排列是提供的一个示例。实际中,与图8所示的组件相比,设备800可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,设备800的一组组件(例如,一个或多个组件)可以执行被描述为由设备800的另一组组件执行的一个或多个功能。
前述公开内容提供了说明和描述,但并不旨在穷举或将实现方式限制为所公开的精确形式。根据上述公开,修改和变化是可能的,或者可从实现方式的实践中获取。
如本文所用,术语组件旨在被广泛地解释为硬件、固件或硬件和软件的组合。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现方式。因此,在不参考特定软件代码的情况下在本文描述了系统和/或方法的操作和行为——应当理解,可基于在本文的描述来设计软件和硬件以实现系统和/或方法。
虽然特征的特定组合在权利要求中引用和/或在说明书中公开,但是这些组合并不旨在对可能的实现方式的公开进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实现方式的公开包括与权利要求组中的每个其它权利要求组合的每个从属权利要求。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文所用,术语“集”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可与“一个或多个”互换使用。当仅意指一个项目时,使用术语“一个”或类似语言。此外,如本文所用,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。

Claims (18)

1.一种对点云的信息进行编解码的方法,其特征在于,包括:
获取点云,所述点云包括三维空间中的一组点;
将所述点云分割成多个对象,并为所述多个对象中的每个对象生成占用信息;及
通过考虑所述多个对象之间的距离对所述占用信息进行编码。
2.根据权利要求1所述的方法,其特征在于,对所述占用信息进行编码包括:
逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类对待编码的下一项占用信息进行编码,所述周围对象基于所述多个对象之间的距离被分类。
3.根据权利要求1或2所述的方法,其特征在于,对所述占用信息进行编码包括:
使用上下文索引对所述占用信息进行编码,所述上下文索引由使用以下公式的查找表定义:LUT{ctxIdx}{ctxIdxChild},其中,LUT是所述查找表,ctxIdx是所述多个对象中的一个节点,ctxIdxChild是所述多个对象中的一个子节点。
4.根据权利要求1或2所述的方法,其特征在于,将所述点云分割成多个对象包括:
使用灵活的树分割方案对所述点云进行分割。
5.根据权利要求4所述的方法,其特征在于,所述多个对象包括具有不同大小的对象。
6.根据权利要求1或2所述的方法,其特征在于,将所述点云分割成多个对象包括:
使用深度优先分割方案对所述点云进行分割。
7.根据权利要求5所述的方法,其特征在于,对所述占用信息进行编码包括:
通过考虑所述多个对象中的所述对象的大小对所述占用信息进行编码。
8.根据权利要求1或2所述的方法,其特征在于,对所述占用信息进行编码包括:
逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类对待编码的下一项占用信息进行编码,所述周围对象已经过编码且基于所述多个对象之间的距离被分类。
9.根据权利要求1所述的方法,其特征在于,对所述占用信息进行编码包括:
逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类对待编码的下一项占用信息进行编码,所述周围对象中的至少一些周围对象已经过编码或经过部分编码,并且基于所述多个对象之间的距离被分类。
10.一种对点云的信息进行编解码的装置,其特征在于,包括:
至少一个存储器,用于存储计算机程序代码;以及
至少一个处理器,用于访问所述至少一个存储器并根据所述计算机程序代码进行操作,所述计算机程序代码包括:
获取代码,用于获取点云,所述点云包括三维空间中的一组点;
分割代码,用于将所述点云分割成多个对象,并为所述多个对象中的每个对象生成占用信息;及
编码代码,用于通过考虑所述多个对象之间的距离对所述占用信息进行编码。
11.根据权利要求10所述的装置,其特征在于,所述编码代码用于逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类对待编码的下一项占用信息进行编码,所述周围对象基于所述多个对象之间的距离被分类。
12.根据权利要求10或11所述的装置,其特征在于,所述编码代码用于使用上下文索引对所述占用信息进行编码,所述上下文索引由使用以下公式的查找表定义:LUT{ctxIdx}{ctxIdxChild},其中,LUT是所述查找表,ctxIdx是所述多个对象中的一个节点,ctxIdxChild是所述多个对象中的一个子节点。
13.根据权利要求10或11所述的装置,其特征在于,所述分割代码用于使用灵活的树分割方案对所述点云进行分割。
14.根据权利要求13所述的装置,其特征在于,所述多个对象包括不同大小的对象。
15.根据权利要求10或11所述的装置,其特征在于,所述分割代码用于使用深度优先分割方案对所述点云进行分割。
16.根据权利要求14所述的装置,其特征在于,所述编码代码用于通过考虑所述多个对象中的所述对象的大小对所述占用信息进行编码。
17.根据权利要求10或11所述的装置,其特征在于,所述编码代码用于逐个对象地对所述占用信息进行编码,使得基于所述多个对象中的周围对象的分类对待编码的下一项占用信息进行编码,所述周围对象已经过编码且基于所述多个对象之间的距离被分类。
18.一种存储指令的非易失性计算机可读存储介质,其特征在于,所述指令使至少一个处理器执行如权利要求1-9中任一权利要求所述的方法。
CN202011576684.1A 2020-02-10 2020-12-28 对点云信息进行编解码的方法和装置 Pending CN113259678A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062972165P 2020-02-10 2020-02-10
US62/972,165 2020-02-10
US17/080,044 US11417030B2 (en) 2020-02-10 2020-10-26 Context modeling of occupancy coding for point cloud coding
US17/080,044 2020-10-26

Publications (1)

Publication Number Publication Date
CN113259678A true CN113259678A (zh) 2021-08-13

Family

ID=77180639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011576684.1A Pending CN113259678A (zh) 2020-02-10 2020-12-28 对点云信息进行编解码的方法和装置

Country Status (2)

Country Link
US (1) US11710260B2 (zh)
CN (1) CN113259678A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114492312A (zh) * 2021-12-22 2022-05-13 深圳市小溪流科技有限公司 一种ip国家映射信息的编解码方法及系统
WO2023050912A1 (en) * 2021-09-30 2023-04-06 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
CN113259678A (zh) * 2020-02-10 2021-08-13 腾讯美国有限责任公司 对点云信息进行编解码的方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
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
EP3474233A1 (en) * 2017-10-19 2019-04-24 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
WO2020145668A1 (ko) * 2019-01-08 2020-07-16 삼성전자주식회사 3차원 컨텐츠의 처리 및 전송 방법
JP7141543B2 (ja) * 2019-06-26 2022-09-22 テンセント・アメリカ・エルエルシー ポイントクラウドのジオメトリ復号及び符号化のための暗示的な四分木又は二分木ジオメトリ分割
US10693492B1 (en) * 2019-06-28 2020-06-23 Blackberry Limited Context determination for planar mode in octree-based point cloud coding
US10992947B2 (en) * 2019-06-28 2021-04-27 Blackberry Limited Planar mode in octree-based point cloud coding
EP4040683A4 (en) * 2019-09-30 2022-11-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. OCCUPANCY INFORMATION PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIA
US11158107B2 (en) * 2019-10-03 2021-10-26 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4018669A4 (en) * 2019-10-03 2022-11-02 LG Electronics Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD
CN113632492A (zh) 2019-12-06 2021-11-09 深圳市大疆创新科技有限公司 一种用于点云处理、解码的方法、设备及存储介质
KR102423499B1 (ko) * 2020-01-07 2022-07-22 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11803989B2 (en) * 2020-01-08 2023-10-31 Qualcomm Incorporated Quantization for geometry-based point cloud compression
US11350132B2 (en) * 2020-01-08 2022-05-31 Qualcomm Incorporated High level syntax for geometry-based point cloud compression
US11417030B2 (en) * 2020-02-10 2022-08-16 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US11741637B2 (en) * 2020-02-10 2023-08-29 Tencent America LLC Node-based geometry and attribute coding for a point cloud
CN113259678A (zh) * 2020-02-10 2021-08-13 腾讯美国有限责任公司 对点云信息进行编解码的方法和装置
US11558643B2 (en) * 2020-04-08 2023-01-17 Qualcomm Incorporated Secondary component attribute coding for geometry-based point cloud compression (G-PCC)
US11941855B2 (en) * 2020-04-08 2024-03-26 Qualcomm Incorporated Coding of laser angles for angular and azimuthal modes in geometry-based point cloud compression
CN117978996A (zh) * 2020-04-11 2024-05-03 Lg电子株式会社 点云数据发送设备和方法、点云数据接收设备和方法
KR102406845B1 (ko) * 2020-04-13 2022-06-10 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11615556B2 (en) * 2020-06-03 2023-03-28 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US20210385303A1 (en) * 2020-06-09 2021-12-09 Qualcomm Incorporated Attribute residual coding in g-pcc

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023050912A1 (en) * 2021-09-30 2023-04-06 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
CN114492312A (zh) * 2021-12-22 2022-05-13 深圳市小溪流科技有限公司 一种ip国家映射信息的编解码方法及系统
CN114492312B (zh) * 2021-12-22 2022-09-20 深圳市小溪流科技有限公司 一种ip国家映射信息的编解码方法及系统

Also Published As

Publication number Publication date
US20220343555A1 (en) 2022-10-27
US11710260B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US20210248785A1 (en) Predictive tree coding for point cloud coding
US11741637B2 (en) Node-based geometry and attribute coding for a point cloud
CN113615181B (zh) 用于点云编解码的方法、装置
CN113259678A (zh) 对点云信息进行编解码的方法和装置
US11417030B2 (en) Context modeling of occupancy coding for point cloud coding
AU2021246614B2 (en) Methods of coding duplicate and isolated points for point cloud coding
CN113557552A (zh) 信息处理装置和方法
CN113544747B (zh) 用于点云编解码的几何合并模式的方法和装置
US11563984B2 (en) Flexible tree partition and representation for point cloud coding
CN113179411A (zh) 点云属性编解码方法、装置、计算机设备及存储介质
KR102650334B1 (ko) 포인트 클라우드 코딩을 위한 방법 및 장치
CN114096998A (zh) 点云编解码中占用编码的上下文建模
CN114902284A (zh) 信息处理装置和方法
US11941856B2 (en) Predictive tree-based geometry coding for a point cloud
CN115486079A (zh) 用于构建三维几何的方法和装置
RU2814612C1 (ru) Способы кодирования дублированных и изолированных точек для кодирования облака точек
CN113255878A (zh) 用于神经网络模型压缩的转义重新排序模式的确定方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051204

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination