CN111615792A - 用于对点云进行熵编码的方法和设备 - Google Patents

用于对点云进行熵编码的方法和设备 Download PDF

Info

Publication number
CN111615792A
CN111615792A CN201980009159.0A CN201980009159A CN111615792A CN 111615792 A CN111615792 A CN 111615792A CN 201980009159 A CN201980009159 A CN 201980009159A CN 111615792 A CN111615792 A CN 111615792A
Authority
CN
China
Prior art keywords
node
sub
occupancy
point cloud
nodes
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.)
Granted
Application number
CN201980009159.0A
Other languages
English (en)
Other versions
CN111615792B (zh
Inventor
S·拉瑟雷
D·弗林
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.)
Mariki Innovation Ltd
Original Assignee
BlackBerry 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 BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN111615792A publication Critical patent/CN111615792A/zh
Application granted granted Critical
Publication of CN111615792B publication Critical patent/CN111615792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/405Tree adaptation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/1883Methods 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 the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Generation (AREA)
  • Complex Calculations (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

用于对点云进行编码的方法和设备。与子体积相关联的当前节点被拆分成另外的子体积,每个另外的子体积对应于当前节点的子节点,并且在编码器处,占用模式基于子节点的占用状态针对当前节点被确定。基于针对与当前节点相邻的多个节点的占用数据,概率分布从多个概率分布中被选择。编码器熵基于所选择的概率分布对占用模式进行编码,以产生用于比特流的编码数据,并且更新所选择的概率分布。解码器基于针对相邻节点的占用数据进行相同的选择,并且对比特流进行熵解码以重建占用模式。

Description

用于对点云进行熵编码的方法和设备
技术领域
本申请总体上涉及点云压缩,并且具体地涉及用于点云的改进熵编码的方法和设备。
背景技术
数据压缩被使用在通信和计算机网络中以有效地存储、传输和再现信息。人们对三维对象或空间的表示越来越感兴趣,这种表示可能会涉及大型数据集,并且针对这种表示的高效而有效的压缩将非常有用和有价值。在一些情况下,可以使用点云来表示三维对象或空间,点云是点集,每个点具有三个坐标地点(X,Y,Z),在一些情况下还具有其他属性,如颜色数据(例如亮度和色度)、透明度、反射率、法向矢量等。点云可以是静态的(在单个时间点处的固定对象或环境/对象的快照)或动态的(按时间顺序的点云序列)。
点云的示例应用包括地形和地图应用。自主车辆和其他机器视觉应用可以依赖于诸如来自激光雷达(LiDAR)扫描仪的环境3D扫描形式的点云传感器数据。虚拟现实模拟可以依赖于点云。
应当理解,点云可能会涉及大量数据,并且快速且准确地压缩(编码和解码)该数据是非常重要的。因此,提供更高效和/或有效地压缩点云数据的方法和设备将是有利的。
附图说明
现在将通过示例的方式参考附图,附图示出了本申请的示例实施例,并且在附图中:
图1示出了示例点云编码器的简化框图;
图2示出了示例点云解码器的简化框图;
图3示出了用于编码的示例部分子体积和相关联的树结构;
图4图示出了八叉树的递归拆分和编码;
图5示出了来自八叉树的示例立方体内的示例扫描模式;
图6示出了示例立方体内的示例占用模式;
图7以流程图的形式示出了一种用于对点云进行编码的示例方法;
图8图示出了示例八叉树的一部分;
图9示出了相邻子体积的示例;
图10示出了示例邻居配置,其示出了相邻节点之间的占用;
图11示意性地示出了一个使用依赖于父模式的上下文的点云熵编码过程的说明性实施例;
图12示出了使用依赖于邻居配置的上下文的点云熵编码的过程的说明性实施例;
图13以流程图的形式示出了一种用于对压缩点云数据的比特流进行解码的示例方法;
图14示出了编码器的示例简化框图;
图15示出了解码器的示例简化框图;
图16示出了示例笛卡尔坐标系和绕轴的示例旋转;
图17示出了围绕Z轴的旋转的一次或若干次迭代下的邻居配置的不变性的类别;
图18示出了针对垂直旋转的邻居配置的不变性的类别;
图19示出了针对旋转和反射两者的不变性的类别;以及
图20示出了针对在三个旋转和反射下的不变性的类别。
在不同的图中可能已经使用了相似的附图标记来标示相似的组件。
具体实施方式
本申请描述了对点云进行编码和解码的方法,以及用于对点云进行编码和解码的编码器和解码器。与子体积相关联的当前节点被拆分成另外的子体积,每个另外的子体积对应于当前节点的子节点,并且在编码器处,基于子节点的占用状态为当前节点确定占用模式。基于针对与当前节点相邻的多个节点的占用数据,从多个概率分布中选择概率分布。编码器熵基于所选择的概率分布对占用模式进行编码,以产生用于比特流的编码数据并且更新所选择的概率分布。解码器基于针对相邻节点的占用数据进行相同的选择,并且对比特流进行熵解码以重建占用模式。
在一个方面,本申请描述了一种对点云进行编码以生成压缩的点云数据的比特流的方法,点云在具有多个节点的树结构中被定义,该多个节点具有父子关系并且表示体积空间的几何结构,该体积空间的几何结构被递归地拆分成子体积并且包含点云的点。该方法包括:对于与被拆分成另外的子体积的子体积相关联的当前节点,每个另外的子体积与当前节点的子节点相对应,基于子节点的占用状态确定用于当前节点的占用模式;从多个概率分布中选择概率分布,其中选择是基于针对与当前节点相邻的多个节点的占用数据;基于所选择的概率分布对占用模式进行熵编码以产生用于比特流的编码数据;并且基于占用模式更新所选择的概率分布。
在另一方面,本申请描述了一种对压缩的点云数据的比特流进行解码以产生重构的点云的方法,点云被定义在具有多个节点的树结构中,该多个节点具有父子关系并且表示体积空间的几何结构,该体积空间的几何结构被递归地拆分成子体积并且包含点云的点。该方法包括:对于与被拆分成另外的子体积的子体积相关联的当前节点,每个另外的子体积对应于当前节点的子节点,从多个概率分布中选择概率分布,其中选择是基于针对与当前节点相邻的多个节点的占用数据;基于所选择的概率分布对比特流进行熵解码,以生成用于当前节点的重构的占用模式,重构的占用模式信号通知子节点的占用;以及基于重构的占用模式更新所选择的概率分布。
在一些实现中,占用数据是针对当前节点的父节点的占用模式,并且多个节点包括与当前节点共享相同父节点的兄弟节点。
在一些实现中,相邻节点是与相应的子体积相关联的节点,这些相应的子体积和与当前节点相关联的子体积共享至少一个面。在另外的实现中,相邻节点是与相应的子体积相关联的节点,这些相应的子体积和与当前节点相关联的子体积共享至少一个边。在又一实现中,相邻节点是与相应的子体积相关联的节点,这些相应的子体积和与当前节点相关联的子体积共享至少一个顶点。
在一些实现中,多个概率分布包括与相邻于当前节点的多个节点的多个占用模式中的每个占用模式相关联的相应分布。在一些情况下,相应分布包括与包括完全占用、水平取向、垂直取向和稀疏填充的占用模式相关联的分布。
在一些实现中,编码方法还包括:确定与当前节点相邻的多个节点中没有被占用;确定子节点中多于一个子节点被占用;以及对指示该子节点中多于一个子节点被占用的标志进行编码。
在另外的方面,本申请描述了被配置为实现这种编码和解码方法的编码器和解码器。
在又一方面,本申请描述了存储计算机可执行程序指令的非瞬态计算机可读介质,该计算机可执行程序指令在被执行时使一个或多个处理器执行所描述的编码和/或解码方法。
在又一方面,本申请描述一种包含程序指令的计算机可读信号,该程序指令在由计算机执行时使计算机执行所描述的编码和/或解码方法。
本领域的普通技术人员将从结合附图对示例的以下描述进行回顾而理解本申请的其他方面和特征。
有时在下面的描述中,术语“节点”和“子体积”可以互换使用。应当理解,节点与子体积相关联。节点是树上的特定点,其可以是内部节点或叶节点。子体积是节点所表示的有界物理空间。术语“体积”可以被用来指代被定义用于包含点云的最大有界空间。为了建立互连节点的树形结构以对点云数据进行编码,体积被递归地划分成子体积。
在本申请中,术语“和/或”旨在涵盖所列元件的所有可能的组合和子组合,包括单独列出的任一元件、任何子组合或所有元件,并且不必排除附加元件。
在本申请中,短语“…或…中的至少一个”旨在覆盖所列元件中的任何一个或多个,包括单独列出的任一元件、任何子组合或全部元件,并且不必排除任何附加元件,也不必要求所有元件。
点云是三维坐标系中的点集。这些点通常旨在表示一个或多个对象的外表面。每个点在三维坐标系中都有一个地点(位置)。该位置可以由三个坐标(X,Y,Z)表示,它们可以是笛卡尔坐标系或任何其他坐标系。这些点可以具有诸如颜色之类的其他相关联的属性,在一些情况下也可以是三分量值,诸如R、G、B或Y、Cb、Cr。取决于点云数据的所期望应用,其他相关联的属性可以包括透明度、反射率、法向矢量等。
点云可以是静态的或动态的。例如,对象或地形的详细扫描或映射可以是静态点云数据。用于机器视觉目的的基于激光雷达的环境扫描可以是动态的,因为点云(至少可能)随时间变化,例如每次连续扫描一个体积。动态点云因此是按时间顺序的点云序列。
点云数据可以在许多应用中被使用,给出一些示例,包括保护(历史或文化对象的扫描)、地图绘制、机器视觉(诸如自主或半自主汽车)和虚拟现实***。用于机器视觉等应用的动态点云数据可以与用于保护目的的静态点云数据非常不同。例如,汽车视觉通常涉及相对小分辨率、无色、高动态的点云,这些点云是通过具有较高捕获频率的激光雷达(或类似)传感器获得的。这种点云的目的不是供人类消费或查看,而是用于决策过程中的机器对象检测/分类。例如,典型的激光雷达帧包含数万量级的点,而高质量的虚拟现实应用则需要数百万个的点。可以预期,随着计算速度的提高和新应用的出现,随着时间的流逝将存在对更高分辨率的数据的需求。
尽管点云数据是有用的,但是缺乏有效和高效的压缩(即编码和解码过程)可能会妨碍采用和部署。
用于对点云数据进行编码的较普遍的机制之一是通过使用基于树的结构。在基于树的结构中,将点云的边界三维体积递归地划分成子体积。树的节点对应于子体积。可以基于树的分辨率和/或子体积中是否包含任何点来判定是否进一步划分子体积。叶节点可以具有占用标志,该占用标志指示其关联的子体积是否包含点。拆分标志可以信号通知节点是否具有子节点(即,当前体积是否已被进一步拆分成子体积)。在一些情况下,可以对这些标志进行熵编码,并且在一些情况下,可以使用预测编码。
常用的树结构是八叉树。在此结构中,体积/子体积都是立方体,并且子体积的每个拆分都导致八个另外的子体积/子立方体。另一种常用的树结构是KD树,在其中,一个体积(立方体或长方体)被正交于其中一个轴的平面递归地划分为两部分。八叉树是KD树的一种特殊情况,其中体积被三个平面划分,每个平面与三个轴之一正交。这两个示例均涉及立方体或长方体;然而,本申请不限于这样的树结构,并且在一些应用中,体积和子体积可以具有其他形状。一个体积的分区并不一定要分为两个子体积(KD树)或八个子体积(八叉树),而是可以涉及其他分区,包括划分成非矩形形状或涉及不邻近的子体积。
为了便于解释并且因为八叉树是用于汽车应用的流行的候选树结构,所以本申请可以参考八叉树,但是应当理解,可以使用其他树结构来实现本文所描述的方法和设备。
现在参考图1,其示出了根据本申请的各方面的点云编码器10的简化框图。点云编码器10包括树构建模块12,用于接收点云数据并产生树(在该示例中为八叉树),该树表示包含点云的体积空间的几何结构并指示来自点云的点在那个几何结构中的地点或位置。
用于创建八叉树以便对点云进行编码的基本过程可以包括:
1.从坐标***中包含点云的边界体积(立方体)开始。
2.将体积拆分成8个子体积(八个子立方体)。
3.对于每个子体积,如果子体积为空,则用0标记该子体积,如果其中至少有一个点,则用1标记。
4.对于标记为1的所有子体积,重复(2)以便拆分这些子体积,直到达到最大拆分深度。
5.对于最大深度的所有叶子体积(子立方体),如果它不是非空的,则标记为1,否则为0。
上面的过程可以被描述为占用等于拆分过程,其中拆分意味着占用,约束是存在最大深度或分辨率,超过该最大深度或分辨率将不会发生进一步拆分。在这种情况下,单个标志信号通知节点是否被拆分,并且它因此是否被至少一个点占用,反之亦然。在最大深度处,标志信号通知占用,无法进一步拆分。
在一些实现中,拆分和占用是互不相关的,使得节点可以被占用并且可以被拆分或者可以不被拆分。此实现有两种变体:
1.先拆分后占用。信号标志指示节点是否被拆分。如果被拆分,那么该节点必须包含点——即,拆分意味着占用。否则,如果该节点不被拆分,那么另外的占用标志信号通知该节点是否包含至少一个点。因此,当节点不再被拆分时,即它是一个叶子节点,则该叶子节点必须具有关联的占用标志以指示它是否包含任何点。
2.先占用后拆分。单个标志指示节点是否被占用。如果未被占用,那么不会发生拆分。如果已被占用,那么拆分标记被编码以指示该节点是否被进一步拆分。
不管使用上述哪个过程来构建树,都可以以预定义的顺序(广度优先或深度优先,并根据每个划分的子体积内的扫描模式/顺序)遍历树,以从标志(占用和/或拆分标志)中产生比特序列。这可以被称为树的序列化或二值化。如图1中所示,在该示例中,点云编码器10包括二进制化器14,用于对八叉树进行二值化以产生表示树的二值化数据的比特流。
然后可以使用熵编码器16对该比特序列进行编码,以产生压缩的比特流。熵编码器16可以使用上下文模型18对比特序列进行编码,该上下文模型18基于熵编码器16的上下文确定来指定用于对比特进行编码的概率。可以在对每个比特或定义的比特集合进行编码之后自适应地更新上下文模型18。在一些情况下,熵编码器16可以是二进制算术编码器。在一些实现中,二进制算术编码器可以采用上下文自适应二进制算术编码(CABAC)。在一些实现中,可以使用除算术编码器之外的编码器。
在一些情况下,熵编码器16可以不是二进制编码器,而是可以对非二进制数据进行操作。来自树构建模块12的输出的八叉树数据可以不以二进制的形式被评估,而是可以被编码为非二进制数据。例如,在八叉树的情况下,子体积内的八个标志(例如,占用标志)按其扫描顺序可以被认为是28-1比特数(例如,具有介于1到255之间的值的整数,因为对于拆分的子体积不可能为0值,即,如果其完全未被占用,则其不会被拆分)。在一些实现中,该数可以由熵编码器使用多符号算术编码器来编码。在子体积(例如立方体)内,定义此整数的标志的序列可以被称为“模式”。
像视频或图像编码一样,点云编码可以包括预测性操作,在该预测性操作中,努力预测用于子体积的模式,并且对来自预测的残差进行编码,而不是对模式本身进行编码。预测可以是空间的(取决于相同点云中的先前编码的子体积)或时间的(取决于按时间顺序的点云序列中的先前编码的点云)。
在图2中示出了对应于编码器10的示例点云解码器50的框图。点云解码器50包括使用与编码器10所使用的上下文模型54相同的熵解码器52。熵解码器52接收压缩数据的输入比特流,并且对数据进行熵解码以产生解压缩比特的输出序列。然后,该序列由树重构器56转换为重构的点云数据。树重构器56根据解压缩的数据和对将树数据进行二值化的扫描顺序的知识来重构树结构。因此,树重构器56能够从点云中重构点的地点(服从树编码的分辨率)。
图3中示出了示例部分子体积100。在该示例中,为了易于说明,以二维的方式示出了子体积100的切片,并且子体积100的大小为16x16。应当注意,该子体积已被划分成四个8x8子正方形,并且那些中的两个已进一步被细分成4x4子正方形,其中三个进一步被划分成2x2子正方形,而2x2子正方形之一然后进一步被划分成1x1正方形。1x1正方形是树的最大深度并且表示针对位置点数据的最高分辨率。来自点云的点在图中被示为小点。
在子体积100的右边示出了树102的结构。在树102的右边示出了以预定义的广度优先扫描顺序所获得的拆分标志104的序列和对应的占用标志106的序列。将观察到的是,在该说明性示例中,对于每个未被拆分的子体积(节点)存在占用标志,即,其具有被设置为零的关联的拆分标志。这些序列可以被熵编码。
图4中示出了采用占用≡拆分条件的另一示例。图4图示出了八叉树150的递归拆分和编码。图中仅示出了八叉树150的一部分。FIFO152被示为处理用于拆分的节点,以图示出本过程的广度优先性质。FIFO 152输出被占用节点154,其在FIFO 152中进行排队,以用于在其父节点156的处理之后进一步拆分。树构建器将与被占用节点154相关联的子体积拆分成八个子体积(立方体)并确定其占用。可以通过用于每个子体积的占用标志来指示占用。在规定的扫描顺序中,标志可以被称为用于节点154的占用模式。模式可以由整数来指定,该整数表示与以预定义的扫描顺序的子体积相关联的占用标志的序列。在八叉树的情况下,模式是范围[1,255]中的整数。
然后,熵编码器基于上下文模型所指定的概率、使用非二进制算术编码器对该模式进行编码。在该示例中,概率可以是基于初始分布模型并且被自适应地更新的模式分布。在一种实现中,模式分布实际上是在编码期间遇到每个模式(从1到255的整数)的次数的计数器。在每个子体积被编码之后,模式分布可以被更新。可以根据需要对模式分布进行归一化,因为模式的相对频率与概率评定密切相关,而与绝对计数无关。
基于模式,被占用(例如,具有标志=1)的那些子节点然后被推入到FIFO 152中,以进一步依次拆分(假设节点不是树的最大深度)。
现在参考图5,其示出了来自八叉树的示例立方体180。立方体180被细分成八个子立方体。用于读取标志的扫描顺序导致一个八比特字符串,其可以以二进制的形式被读取为整数[1,255]。基于扫描顺序和字符串中每个子立方体的标志的最终比特位置,这些子立方体具有如图5中所示的值。假设编码器和解码器两者使用相同的扫描顺序,则扫描顺序可以是子立方体的任何顺序。
作为示例,图6示出了其中四个“前”子立方体被占用的立方体200。在被占用的子立方体是立方体1+4+16+64的基础上,这将对应于模式85。整数模式编号指定子立方体中的占用模式。
八叉树表示或者更一般地任何树表示,在表示具有空间相关性的点时是有效的,因为树倾向于分解点坐标的高阶比特。对于八叉树,深度的每个级别针对每个分量将子体积内的点的坐标精化一个比特,每精化花费八个比特。通过对与每个树节点相关联的拆分信息(即模式)进行熵编码来获得进一步的压缩。这种进一步的压缩是可能的,因为模式分布是不均匀的——不均匀性是相关性的另一结果。
当前***中的一种潜在的低效率是在对点云进行编码的过程中发展出了模式分布(例如,在树的先前编码的节点中看到的模式编号的直方图)。在一些情况下,模式分布可以被初始化为等概率,或者可以被初始化为某个其他预定分布;但是使用一种模式分布意味着上下文模型不会考虑或利用局部几何相关性。
因此,根据本申请的一个方面,编码器和解码器各自保持一个以上的模式分布(例如,与占用模式相关联的概率的集合),并基于来自特定节点附近的先前编码节点的一些占用信息来选择模式要被用于对特定节点的模式进行编码的模式分布。在一个示例实现中,从父节点到特定节点的占用模式中获得占用信息。在另一示例实现中,从与特定节点邻近的一个或多个节点中获得占用信息。
现在参考图7,其以流程图的形式示出了一种对点云进行编码的示例方法200。方法200在该示例中涉及对被占用的节点(子体积)进行递归拆分以及对树进行广度优先的遍历以进行编码。
在操作202中,编码器确定用于当前节点的占用模式。当前节点是一个被占用的节点,其已被拆分成八个子节点,每个子节点对应于一个相应的子立方体。用于当前节点的占用模式按扫描顺序指定八个子节点的占用。如上所述,可以使用介于1和255之间的整数例如一个八比特二进制字符串来指示这种占用模式。
在操作204中,编码器从概率分布的集合中选择概率分布。概率分布的选择是基于来自附近的先前编码的节点(即,是当前节点的邻居的至少一个节点)的占用信息。在一些实施例中,如果两个节点与共享至少一个面的相应子体积相关联,则两个节点是相邻的。在更广泛的定义中,如果节点共享至少一个边,则它们是相邻的。在更广泛的定义中,如果两个节点共享至少一个顶点,则它们是相邻的。当前节点是其内的子节点的父模式提供针对当前节点和当前节点的七个兄弟节点的占用数据。在一些实现中,占用信息是父模式。在一些实现中,占用信息是邻居节点的集合,其包括与当前节点在树的深度级别相同但具有不同父节点的节点。在一些情况下,它们的组合是可能的。例如,邻居节点的集合可以包括一些兄弟节点和一些非兄弟节点。
一旦选择了概率分布,那么编码器随后使用所选择的概率分布来对用于当前节点的占用模式进行熵编码,如操作206所指示。然后,在操作208中,它基于占用模式来更新所选择的概率分布,例如它可以增加与该占用模式相对应的计数。在操作210中,编码器评估是否还存在其他节点要编码,如果是,则返回操作202以对下一个节点进行编码。
在操作204中的概率分布选择将基于针对附近的先前编码的节点的占用数据。这允许编码器和解码器都独立地做出相同的选择。对于下面的概率分布选择的讨论,将参考图8,其示意性地图示出了包括当前节点302的部分八叉树300。当前节点302是被占用的节点,并且正在被评估以用于编码。当前节点302是父节点306的八个孩子之一,父节点306又是祖父节点(未示出)的孩子。当前节点302被划分成八个子节点304。用于当前节点302的占用模式基于子节点304的占用。例如,如所图示,使用黑点是被占用的节点的约定,占用模式可以是00110010,即模式50。
当前节点302具有兄弟节点308,其具有相同父节点306。父模式是用于父节点306的占用模式,其如所图示将是00110000,即模式48。父模式可以用作选择合适的概率分布以用于对用于当前节点的占用模式进行熵编码的基础。
图9图示出了围绕当前节点的邻居的集合,其中邻居被定义为共享面的节点。在此示例中,节点/子体积是立方体,并且图像中心处的立方体具有六个邻居,每个面一个邻居。在八叉树中,应当理解,当前节点的邻居将包括三个兄弟节点。其还将包括没有相同父节点的三个节点。因此,一些相邻节点将是可用的,因为它们是兄弟,但是一些相邻节点可能是可用的,也可能是不可用的,这取决于那些节点先前是否已被编码。可以应用特殊处理来应对丢失的邻居。在一些实现中,丢失的邻居可以被假定为被占用或可以被假定为未被占用。应当理解,邻居定义可以被扩展为包括基于共享边或基于共享顶点的相邻节点,以在评定中包括附加的相邻子体积。
还应当理解,与评定兄弟的占用状态相比——其中三个将仅共享一个边并且其中一个将仅共享一个顶点(在八叉树的情况下),基于邻近节点的占用状态来评定当前节点302的紧邻周围邻域可能是对隔离性的更准确的评定。但是,对兄弟的占用状态进行评定具有模块化的优势,因为用于评定的所有相关数据都是父节点的一部分,这意味着它具有较小的存储器占地来实现,而对邻居占用状态的评定在需要树占用数据来对未来的相邻节点进行资格评定的情况下涉及对树占用数据进行缓冲。
可以按照有效地向每个邻居指派值的扫描顺序来读取邻居的占用,这与上面相关于占用模式所描述的非常相似。如所图示,相邻节点有效地取值为1、2、4、8、16或32,并且因此有64(0到63)个可能的邻居占用配置。该值在本文中可以被称为“邻居配置”。作为示例,图10图示出了邻居配置15的示例,其中邻居1、2、4和8被占用而邻居16和32为空。
在一些情况下,上述两个标准(父模式和邻居配置)两者可以被应用或者可以在两者之间进行选择。例如,如果邻居可用,那么可以基于相邻节点来进行概率分布选择;否则,如果一个或多个邻居不可用,因为它们来自尚未编码的节点,则概率分布选择可以恢复为基于兄弟节点的分析(父模式)。
在又一实施例中,概率分布选择可以替代地或附加地基于祖父模式。换言之,概率分布选择可以基于是父节点306的兄弟的叔节点的占用状态。
在又一实现中,可以在概率分布选择中把附加的或替代的评定考虑进去。例如,概率分布选择可以查看父节点的邻居节点或祖父节点的邻居节点的占用状态。
用于评定局部占用状态的上述标准中的任何两个或多个在一些实现中可以被组合使用。
在一些实施例中,概率分布的数目可以等于选择标准中的可能占用结果的数目。换言之,在用于八叉树的父模式的情况下,将存在255个概率分布。在邻居配置的情况下,如果将邻居定义为共享面,则将存在64个概率分布。然而,应当理解,由于数据的缺乏,即上下文稀释,太多的分布可能导致自适应缓慢。因此,在一些实施例中,相似的模式可以被分组在一起以便使用相同的概率分布。例如,分开的分布可以被用于与完全占用、垂直取向、水平取向、主要为空、然后是所有其他情况相对应的模式。这可以将概率分布的数目减少到大约五个。应当理解,可以形成模式的不同分组以导致不同数目的概率分布。
现在参考图11,其示意性地示出了使用依赖于父模式的上下文的点云熵编码的过程400的一个说明性实施例。在该示例中,当前节点402已被拆分成八个子节点,并且其占用模式404将使用非二进制熵编码器406而被编码。非二进制熵编码器406使用从六个可能概率分布408之一中选择的概率分布。选择是基于父模式的——即,选择是基于来自当前节点402的父节点的占用信息。父模式由1到255之间的整数来标识。
概率分布的选择可以是决策树,其评定模式是否对应于整个节点(例如,模式=255)、水平结构(例如,模式=170或85;假设Z轴垂直)、垂直结构(例如,模式=3、12、48、192)、填充稀疏的分布(例如,模式=1、2、4、8、16、32、64或128;即没有兄弟节点被占用)、填充半稀疏的分布(当前节点和兄弟节点之间的被占用的节点总数≤3)以及所有其他情况。为不同类别指示的示例模式仅是示例。例如,“水平”类别可以包括涉及在相同水平级别上的两个或三个被占用的立方体的模式。“垂直”类别可以包括涉及以壁状布置的三个或四个被占用的立方体的模式。还应当理解,可以使用更细的渐变。例如,“水平”类别可以进一步被细分为立方体的上部中的水平和立方体的下部中的水平,针对每个具有不同的概率分布。可以进行具有某种相关性的其他占用模式分组,并将其分配给对应的概率分布。下面进一步阐述关于在邻域配置的上下文中的模式分组以及邻域配置之间的不变性的进一步讨论。
图12示出了使用依赖于邻居配置的上下文的点云熵编码的过程500的说明性实施例。该示例假定上面结合图9使用的邻居和邻居配置编号的定义。该示例还假定每个邻居配置都具有专用的概率分布,这意味着存在64种不同的概率分布。当前节点502具有要被编码的占用模式504。基于当前节点502的相邻节点来选择概率分布。即,找到[0,63]中的邻居配置NC,并将其用来选择关联的概率分布。
应当理解,在一些实施例中,可以对邻居配置进行分组,使得一个以上的邻居配置基于模式中的相似性而使用相同的概率分布。在一些实施例中,该过程可以使用邻居的不同布置来对分布进行上下文化(选择)。可以添加附加的邻居,诸如在所有三个轴上对角邻近的八个邻居,或在两个轴上对角邻近的十二个邻居。还可以使用避免特定邻居的实施例,例如避免使用在深度优先扫描中引入附加依赖性或者仅引入对特定轴的依赖性的邻居,以减少大型树的编解码器状态。
在该示例中,以特定方式处理NC=0的情况。如果没有邻居被占用,则可以指示当前节点502被隔离。因此,过程500进一步检查当前节点502的多少个子节点被占用。如果仅一个子节点被占用,那么对标志进行编码以指示单个子节点被占用,并且使用3比特对节点的索引进行编码。如果一个以上的子节点被占用,那么过程500使用NC=0概率分布来对占用模式进行编码。
现在参考图13,其以流程图的形式示出了一种用于对编码的点云数据的比特流进行解码的示例方法600。
在操作602中,解码器基于来自当前节点附近的一个或多个节点的占用信息来选择概率分布之一。如上所述,占用信息可以是来自当前节点的父节点的父模式,即当前节点及其兄弟的占用,或者它可以是当前节点的相邻节点的占用,其可以包括一些兄弟节点。在一些实现中可以使用其他或附加的占用信息。
一旦选择了概率分布,则在操作604中,解码器使用所选择的概率分布对比特流的一部分进行熵解码,以重构用于当前节点的占用模式。该模式是解码器对树进行重构的一部分,以便恢复编码的点云数据。一旦点云数据被解码,就可以将其从解码器输出以供使用,诸如用于渲染视图、分段/分类或其他应用。
在操作606中,解码器基于重构的占用模式来更新概率分布,然后,如果还有另外的节点要解码,那么它移至缓冲器中的下一个节点并返回操作602。
已经证明上述方法的示例实现提供了压缩改进,而编码复杂性的增加可忽略不计。尽管基于邻居的选择具有更高的计算复杂度和存储器使用量,但其显示出了比基于父模式的选择更好的压缩性能。在某些测试中,相对于MPEG点云测试模型,每点比特数的相对改进介于4%到20%之间。已经注意到,与利用均匀分布进行初始化相比,基于由测试数据得出的分布来对概率分布进行初始化导致性能提高。
以上示例中的一些示例基于树编码过程,该树编码过程使用非二进制编码器来信号通知占用模式。应当理解,可以修改该过程以使用上下文自适应二进制熵编码器(CABAC)。可以将占用模式二进制化为二进制信息或模式索引的级联。
在基于邻居的概率分布选择的一种变体中,可以通过利用邻域的对称性来减少分布的数目。通过置换邻域或置换模式分布,具有对称线的结构上相似的配置可以重用相同的分布。
作为示例,考虑八个角模式NC∈[21,22,25,26,37,38,41,42],每一个表示一个角邻居模式的对称性。这些NC值很可能与特定但不同的节点模式很相关。这些相关模式还可能遵循与邻居模式相同的对称性。举例来说,可以实现一种方法,该方法通过置换单个分布的概率来重用该分布以表示NC的多种情况。
编码器基于子节点的占用得出节点的模式编号。对于子节点0...7,定义了与占用相对应的比特c。模式编号被得出为pn=\sum{i=0}^72^{i}×c_i。编码器根据邻域配置选择分布和置换函数。编码器根据置换函数对分布内包含的概率进行重新排序,然后使用置换后的分布对模式编号进行算术编码。通过逆置换函数将算术编码器对置换后的分布的概率的更新映射回原始分布。
对应的解码器首先根据邻域配置选择相同的分布和置换函数。以与编码器相同的方式来产生置换后的分布,该置换后的分布被算术解码器使用来对模式编号进行熵解码。然后,将包括模式编号的比特分别指派给对应的孩子\Left\lfloor\div{pn}{2^i}\Right\rfloor\text{mod}2。
应当注意的是,可以实现相同的置换而无需重新排序分布的数据本身,而是引入间接的级别并使用置换函数来置换对分布中的给定索引的查找。
替代实施例考虑模式本身的置换而不是分布,允许分别在熵编码/解码之前或之后进行混洗。这样的方法可能更适合通过按位混洗操作进行有效实现。在这种情况下,编码器或解码器均不执行分布的重新排序,而是将模式编号的计算修改为pn=\sum_{i=()}^72^ic_{f(i)},其中f(i)是置换函数。函数f(i)=({4,7,6,5,0,3,2,1})[i]的一个这样的示例,允许使用NC=22的单个分布被用于NC=41。
得出所需置换的方法可以基于邻域配置的旋转对称性,或者可以基于沿着特定轴的反射。此外,置换不必根据例如对称性来置换所有位置;而是可以使用部分置换。例如,当将NC=22置换为NC=41时,对称轴上的位置可能不被置换,从而导致映射{0,7,2,5,4,3,6,1},其中位置0,2,4,6未被置换。在其他实施例中,仅对1和7被交换。
在下文中,针对八叉树的具体情况提供了基于旋转对称性和反射的实施例的示例,其中六个邻居与当前立方体共享共同的面。不失一般性,如图16中所示,Z轴相对于查看该图的方向垂直延伸。诸如“上方”(分别地,“下方”)的邻居的相对位置继而应被理解为沿着Z轴在Z方向上增大(分别地,减小)。相同的注释适用于沿X轴的左/右和沿Y轴的前/后。
图16分别示出了沿着Z、Y和X轴的三个旋转2102、2104和2106。这三个旋转的角度为90度,即它们沿相应轴旋转四分之一圈。
图17示出了在沿着Z轴的旋转2102的一次或若干次迭代下的邻居配置的不变性的分类。该不变性代表点云几何结构沿着属于XY平面的任何方向的相同统计行为。对于在XY平面局部近似的地球表面上移动的汽车的用例而言,尤其如此。水平配置是(位于当前立方体的左、右、前和后的)四个邻居的给定占用,与上方邻居(2202)和下方邻居(2204)的占用无关。在旋转2102下,四个水平配置2206、2208、2210和2212属于同一类不变性。类似地,两个配置2214和2216属于同一类不变性。在旋转2102下只有(在分类集合2218下分组的)六类不变性。
垂直配置是两个邻居2202和2204的给定占用,与位于当前立方体的左、右、前和后的四个邻居的占用无关。如图18上所示,有四种可能的垂直配置。因此,如果考虑相对于沿着Z轴旋转2102的不变性,则有6x4=24种可能的配置。
沿着Z轴的反射2108如图16上所示。图18上所描绘的垂直配置2302和2304在反射2108下属于同一类不变性。在反射2108下有(在分类2306下分组的)三类不变性。在反射2108下的不变性意味着在点云几何统计方面,向上和向下方向的行为基本上相同。对于在道路上移动的汽车,它是一个准确的假设。
如果人们假设了在旋转2102和反射2108两者下的不变性,则存在由两个集合2218和2306的乘积得出的18个不变性。这18个分类被表示在图19中。
应用在另外两个旋转2104和2106下的另外的不变性,两个配置2401和2402属于同一类不变性。此外,两个配置2411和2412、两个配置2421和2422、三个配置2431、2432和2433、两个配置2441和2442、两个配置2451和2452、以及最后两个配置2461和2462属于同一分类。因此,在三个旋转(2102、2104和2106)和反射2108下的不变性导致10类不变性,如图20上所示。
从以上提供的示例中,是否假设在三个旋转和反射下的不变性,有效相邻配置的数目为64、24、18或10。在测试中,在18种配置的情况下压缩性能得到了改善,因为对不变性的基本假设(沿着Z轴旋转和反射)实际上得到了很好的满足,因此不会降低分布准确性,同时由于要更新的分布数目较小(18对比64),所以提供了更快的分布收敛性。但是,针对10个(对比18个)配置,人们观察到不可忽略的性能恶化,因为一方面的XY轴和另一方面的Z轴在统计上表现不同。在必须减少配置数目以满足存储器占地和/或复杂性约束的应用中,具有10种配置的设置可能是有趣的。
在熵编码之前,模式经历相同的变换,即旋转和反射,因为邻居配置确实属于不变性分类之一。这保留了不变的相邻配置和编码模式之间的统计一致性。
还应当理解,在树的遍历期间,子节点将具有处于相同树深度处的某些相邻节点,这些相邻节点先前已被访问过并且可以因果地被用作依赖关系。对于这些相同级别的邻居,可以不咨询并置的父系邻居,而是可以使用相同级别的邻居。由于相同级别的邻居具有父系的减半尺寸,因此如果四个直接邻近的相邻子节点(即与当前节点共享面的四个子节点)中的任何一个被占用,则一种配置将认为邻居已被占用。
现在参考图14,其示出了编码器1100的示例实施例的简化框图。编码器1100包括处理器1102、存储器1104和编码应用1106。编码应用1106可以包括存储在存储器1104中并且包含指令的计算机程序或应用,该指令在被执行时使处理器1102执行诸如本文所述的那些操作的操作。例如,编码应用1106可以根据本文所描述的过程对比特流进行编码和输出编码的比特流。应当理解的是,编码应用1106可以被存储在诸如压缩盘、闪存设备、随机存取存储器、硬盘驱动器等的非瞬态计算机可读介质上。当指令被执行时,处理器1102执行指令中指定的操作和功能,以便操作为实现(多个)上述过程的专用处理器。在一些示例中,这样的处理器可以被称为“处理器电路”或“处理器电路***”。
现在还参考图15,其示出了解码器1200的示例实施例的简化框图。解码器1200包括处理器1202、存储器1204和解码应用1206。解码应用1206可以包括存储在存储器1204中并且包含指令的计算机程序或应用,该指令在被执行时使处理器1202执行诸如本文所述的那些操作的操作。应当理解的是,解码应用1206可以被存储在诸如压缩盘、闪存设备、随机存取存储器、硬盘驱动器等的计算机可读介质上。当指令被执行时,处理器1202执行指令中指定的操作和功能,以便操作为实现(多个)所述过程的专用处理器。在一些示例中,这样的处理器可以被称为“处理器电路”或“处理器电路***”。
应当理解,根据本申请的解码器和/或编码器可以被实现在许多计算设备中,包括但不限于服务器、适当编程的通用计算机、机器视觉***和移动设备。解码器或编码器可以通过包含用于配置一个或多个处理器以执行本文所述功能的指令的软件来实现。软件指令可以被存储在任何合适的非瞬态计算机可读存储器上,包括CD、RAM、ROM、闪存等。
应当理解的是,本文所描述的解码器和/或编码器以及实现所描述的用于配置编码器或解码器的方法/过程的模块、例程、过程、线程或其他软件组件可以使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程约定、数据结构、其他这样的实现细节。本领域技术人员应当认识到,所描述的过程可以被实现为存储在易失性或非易失性存储器中的计算机可执行代码的一部分,被实现为专用集成芯片(ASIC)的一部分等。
本申请还提供了一种计算机可读信号,其对通过根据本申请的编码过程的应用产生的数据进行编码。
可以对所描述的实施例进行某些改编和修改。因此,以上讨论的实施例被认为是说明性的而非限制性的。

Claims (14)

1.一种对点云进行编码以生成压缩的点云数据的比特流的方法,所述点云在具有多个节点的树结构中被定义,所述多个节点具有父子关系并且其表示体积空间的几何结构,所述体积空间的几何结构被递归地拆分成子体积并且包含所述点云的点,所述方法包括:
针对与被拆分成另外的子体积的子体积相关联的当前节点,每个另外的子体积对应于所述当前节点的子节点,
基于所述子节点的占用状态来确定用于所述当前节点的占用模式;
从多个概率分布中选择概率分布,其中所述选择基于针对与所述当前节点相邻的多个节点的占用数据;
基于所选择的所述概率分布来对所述占用模式进行熵编码以产生用于所述比特流的编码数据;以及
基于所述占用模式来更新所选择的所述概率分布。
2.根据权利要求1或权利要求10所述的方法,其中所述占用数据包括用于所述当前节点的父节点的占用模式,并且其中所述多个节点包括与所述当前节点共享相同的所述父节点的兄弟节点。
3.根据权利要求1或权利要求10所述的方法,其中所述相邻节点是与相应的子体积相关联的节点,所述相应的子体积和与所述当前节点相关联的子体积共享至少一个面。
4.根据权利要求1或权利要求10所述的方法,其中所述相邻节点是与相应的子体积相关联的节点,所述相应的子体积和与所述当前节点相关联的子体积共享至少一个边。
5.根据权利要求1或权利要求10所述的方法,其中所述相邻节点是与相应的子体积相关联的节点,所述相应的子体积和与所述当前节点相关联的子体积共享至少一个顶点。
6.根据权利要求1至5或10中的任一项所述的方法,其中所述多个概率分布包括与相邻于所述当前节点的所述多个节点的多个占用模式中的每个占用模式相关联的相应分布。
7.根据权利要求6所述的方法,其中所述相应分布包括与以下占用模式相关联的分布,所述占用模式包括完全占用、水平取向、垂直取向以及稀疏填充。
8.根据权利要求1所述的方法,还包括:确定与所述当前节点相邻的所述多个节点中没有节点被占用,确定所述子节点中多于一个子节点被占用,以及对指示所述子节点中多于一个子节点被占用的标志进行编码。
9.一种编码器,用于对点云进行编码以生成压缩的点云数据的比特流,所述点云在具有多个节点的树结构中被定义,所述多个节点具有父子关系并且其表示体积空间的几何结构,所述体积空间的几何结构被递归地拆分成子体积并且包含所述点云的点,所述编码器包括:
处理器;
存储器;以及
编码应用,包含由所述处理器可执行的指令,所述指令在被执行时,使所述处理器执行根据权利要求1或当从属于权利要求1时的权利要求2至8中的任一项所述的方法。
10.一种对压缩的点云数据的比特流进行解码以产生重构的点云的方法,所述点云在具有多个节点的树结构中被定义,所述多个节点具有父子关系并且其表示体积空间的几何结构,所述体积空间的几何结构被递归地拆分成子体积并且包含所述点云的点,所述方法包括:
针对与被拆分成另外的子体积的子体积相关联的当前节点,每个另外的子体积对应于所述当前节点的子节点,
从多个概率分布中选择概率分布,其中所述选择基于针对与所述当前节点相邻的多个节点的占用数据;
基于所选择的所述概率分布来对所述比特流进行熵解码,以生成用于所述当前节点的重构的占用模式,所述重构的占用模式信号通知所述子节点的占用;以及
基于所述重构的占用模式来更新所选择的所述概率分布。
11.根据权利要求10所述的方法,还包括:确定与所述当前节点相邻的所述多个节点中没有节点被占用,并且作为响应,对指示所述子节点中多于一个子节点被占用的标志进行解码。
12.一种解码器,用于解码压缩的点云数据的比特流以产生重构的点云,所述点云在具有多个节点的树结构中被定义,所述多个节点具有父子关系并且其表示体积空间的几何结构,所述体积空间的几何结构被递归地拆分成子体积并且包含所述点云的点,所述解码器包括:
处理器;
存储器;以及
解码应用,包含由所述处理器可执行的指令,所述指令在被执行时,使所述处理器执行根据权利要求10、当从属于权利要求10时的11或2至8中的任一项所述的方法。
13.一种非瞬态处理器可读介质,存储处理器可执行指令,所述处理器可执行指令在由处理器执行时使所述处理器执行根据权利要求1至8或10至11中的任一项所述的方法。
14.一种包含程序指令的计算机可读信号,所述程序指令在由计算机执行时使所述计算机执行根据权利要求1至8或10至11中的任一项所述的方法。
CN201980009159.0A 2018-01-18 2019-01-10 用于对点云进行熵编码的方法和设备 Active CN111615792B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18305037.6 2018-01-18
EP18305037.6A EP3514968B1 (en) 2018-01-18 2018-01-18 Methods and devices for entropy coding point clouds
PCT/CA2019/050039 WO2019140510A1 (en) 2018-01-18 2019-01-10 Methods and devices for entropy coding point clouds

Publications (2)

Publication Number Publication Date
CN111615792A true CN111615792A (zh) 2020-09-01
CN111615792B CN111615792B (zh) 2024-05-28

Family

ID=61094362

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201980009159.0A Active CN111615792B (zh) 2018-01-18 2019-01-10 用于对点云进行熵编码的方法和设备
CN201980065237.9A Pending CN112789804A (zh) 2018-01-18 2019-10-02 用于点云的二进制熵编解码的方法和设备
CN201980065224.1A Pending CN112789803A (zh) 2018-01-18 2019-10-02 用于点云的二进制熵编解码的方法和设备

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980065237.9A Pending CN112789804A (zh) 2018-01-18 2019-10-02 用于点云的二进制熵编解码的方法和设备
CN201980065224.1A Pending CN112789803A (zh) 2018-01-18 2019-10-02 用于点云的二进制熵编解码的方法和设备

Country Status (7)

Country Link
US (6) US11455749B2 (zh)
EP (6) EP4213096A1 (zh)
JP (2) JP7504086B2 (zh)
KR (3) KR102627394B1 (zh)
CN (3) CN111615792B (zh)
FI (2) FI3514968T3 (zh)
WO (3) WO2019140510A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022073156A1 (en) * 2020-10-06 2022-04-14 Beijing Xiaomi Mobile Software Co., Ltd. Method of encoding and decoding, encoder, decoder and software
WO2022109885A1 (zh) * 2020-11-25 2022-06-02 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质
WO2022126326A1 (zh) * 2020-12-14 2022-06-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质
CN115086716A (zh) * 2021-03-12 2022-09-20 腾讯科技(深圳)有限公司 点云中邻居点的选择方法、装置及编解码器
CN115951589A (zh) * 2023-03-15 2023-04-11 中科院南京天文仪器有限公司 基于最大化Kozachenko-Leonenko熵的恒星均匀选取方法
WO2023116567A1 (zh) * 2021-12-20 2023-06-29 华为技术有限公司 数据编解码方法、装置和设备
WO2023133710A1 (zh) * 2022-01-11 2023-07-20 Oppo广东移动通信有限公司 编码方法、解码方法、编码器、解码器和编解码***

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4213096A1 (en) 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
JP7168591B2 (ja) * 2018-01-26 2022-11-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7348078B2 (ja) * 2018-02-08 2023-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019182102A1 (ja) * 2018-03-23 2019-09-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
MX2020013646A (es) * 2018-06-27 2021-03-25 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
EP3595180B1 (en) * 2018-07-10 2021-12-08 BlackBerry Limited Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
CN112513938A (zh) * 2018-08-06 2021-03-16 松下电器(美国)知识产权公司 三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置
KR102423498B1 (ko) * 2019-08-14 2022-07-22 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
EP4002277A4 (en) 2019-08-14 2023-02-22 LG Electronics Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD
JP2022172413A (ja) * 2019-09-26 2022-11-16 シャープ株式会社 三次元表現変換装置、および、三次元表現逆変換装置
US11676310B2 (en) * 2019-11-16 2023-06-13 Uatc, Llc System and methods for encoding octree structured point cloud data using an entropy model
US11223836B2 (en) * 2019-12-02 2022-01-11 Tencent America LLC Method and apparatus for point cloud coding
CN115104305A (zh) * 2020-02-12 2022-09-23 谷歌有限责任公司 用于图压缩的多上下文熵编码
KR20220157490A (ko) 2020-03-24 2022-11-29 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 방법, 장치, 인코더, 디코더 및 저장 매체
CN113812164B (zh) * 2020-04-14 2024-06-18 北京小米移动软件有限公司 用于处理点云的方法和装置
WO2021232251A1 (zh) * 2020-05-19 2021-11-25 Oppo广东移动通信有限公司 一种点云编解码方法、编码器、解码器及存储介质
US11438628B2 (en) * 2020-06-03 2022-09-06 Tencent America LLC Hash-based accessing of geometry occupancy information for point cloud coding
CA3136030C (en) * 2020-06-03 2024-02-20 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US11615556B2 (en) 2020-06-03 2023-03-28 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US20230239501A1 (en) * 2020-06-05 2023-07-27 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115529463A (zh) * 2020-06-24 2022-12-27 北京小米移动软件有限公司 编码和解码方法、编码器、解码器以及存储介质
US20240046524A1 (en) * 2020-12-23 2024-02-08 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of entropy encoding/decoding point cloud geometry data captured by a spinning sensors head
EP4275354A1 (en) * 2021-01-11 2023-11-15 InterDigital Patent Holdings, Inc. Apparatus and method for point cloud processing
EP4071717A1 (en) * 2021-04-08 2022-10-12 Beijing Xiaomi Mobile Software Co., Ltd. Method of encoding point cloud geometry data captured by a spinning sensors head
CN113395603B (zh) * 2021-06-25 2022-04-01 合肥工业大学 一种基于模型预测控制的点云视频流自适应传输方法
WO2023287220A1 (ko) * 2021-07-15 2023-01-19 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
CN113676738B (zh) * 2021-08-19 2024-03-29 上海交通大学 一种三维点云的几何编解码方法及装置
CN118176525A (zh) * 2021-10-05 2024-06-11 交互数字Vc控股公司 用于使用混合深度熵译码进行点云压缩的方法和装置
EP4195158A1 (en) * 2021-12-10 2023-06-14 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/encoding a series of data
WO2023136627A1 (ko) * 2022-01-12 2023-07-20 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
CN114972551A (zh) * 2022-02-11 2022-08-30 北京大学深圳研究生院 一种点云的压缩和解压缩方法
WO2023211255A1 (ko) * 2022-04-28 2023-11-02 인텔렉추얼디스커버리 주식회사 포인트 클라우드 압축 방법 및 장치
EP4345752A1 (en) * 2022-09-28 2024-04-03 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding positions of points of a point cloud comprised in cuboid volumes

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214502A1 (en) * 2001-11-27 2003-11-20 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US20140184430A1 (en) * 2011-08-25 2014-07-03 Thomson Licensing Hierarchical entropy encoding and decoding
US20150010056A1 (en) * 2012-01-19 2015-01-08 Samsung Electronics Co., Ltd. Method and apparatus for video encoding capable of parallel entropy encoding of subregions, method and apparatus for video decoding capable of parallel entropy decoding of subregions
CN106095968A (zh) * 2016-06-20 2016-11-09 山东理工大学 n维海量点云的R树形位多目标结点***方法
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
KR20020030101A (ko) 2000-06-30 2002-04-22 요트.게.아. 롤페즈 비디오 시퀀스의 압축을 위한 인코딩 방법
KR100969764B1 (ko) * 2008-02-13 2010-07-13 삼성전자주식회사 메쉬 모델로 구현된 3차원 데이터의 부호화 및 복호화 방법
EP2362658A1 (en) 2010-02-26 2011-08-31 Research In Motion Limited Encoding and decoding methods and devices employing dual codesets
US8942282B2 (en) * 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
US8761240B2 (en) 2010-07-13 2014-06-24 Blackberry Limited Methods and devices for data compression using context-based coding order
JPWO2013065702A1 (ja) 2011-11-04 2015-04-02 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法
US9111333B2 (en) * 2011-11-07 2015-08-18 Thomson Licensing Predictive position encoding
US10032309B2 (en) * 2011-11-07 2018-07-24 Thomson Licensing Predictive position decoding
ES2687522T3 (es) * 2012-04-15 2018-10-25 Samsung Electronics Co., Ltd. Procedimiento de actualización de parámetros para decodificar de entropía del nivel de coeficiente de conversión, y dispositivo de decodificación de entropía del nivel de coeficiente de conversión utilizando el mismo
JP6826368B2 (ja) 2016-01-14 2021-02-03 キヤノン株式会社 符号化装置及びその制御方法
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
EP3301914A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
US10496336B2 (en) * 2016-11-17 2019-12-03 Google Llc K-D tree encoding for point clouds using deviations
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10607373B2 (en) * 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
EP4213096A1 (en) 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
JP7168591B2 (ja) 2018-01-26 2022-11-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019182102A1 (ja) * 2018-03-23 2019-09-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
BR112020024052A2 (pt) 2018-06-13 2021-02-09 Panasonic Intellectual Property Corporation Of America método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
WO2019240285A1 (ja) * 2018-06-15 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
MX2020013646A (es) * 2018-06-27 2021-03-25 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
KR102423499B1 (ko) 2020-01-07 2022-07-22 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11417030B2 (en) * 2020-02-10 2022-08-16 Tencent America LLC Context modeling of occupancy coding for point cloud coding
US11450031B2 (en) * 2020-04-14 2022-09-20 Apple Inc. Significant coefficient flag encoding for point cloud attribute compression

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214502A1 (en) * 2001-11-27 2003-11-20 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US20140184430A1 (en) * 2011-08-25 2014-07-03 Thomson Licensing Hierarchical entropy encoding and decoding
US20150010056A1 (en) * 2012-01-19 2015-01-08 Samsung Electronics Co., Ltd. Method and apparatus for video encoding capable of parallel entropy encoding of subregions, method and apparatus for video decoding capable of parallel entropy decoding of subregions
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN106095968A (zh) * 2016-06-20 2016-11-09 山东理工大学 n维海量点云的R树形位多目标结点***方法
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022073156A1 (en) * 2020-10-06 2022-04-14 Beijing Xiaomi Mobile Software Co., Ltd. Method of encoding and decoding, encoder, decoder and software
WO2022109885A1 (zh) * 2020-11-25 2022-06-02 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质
WO2022126326A1 (zh) * 2020-12-14 2022-06-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质
CN115086716A (zh) * 2021-03-12 2022-09-20 腾讯科技(深圳)有限公司 点云中邻居点的选择方法、装置及编解码器
CN115086716B (zh) * 2021-03-12 2023-09-08 腾讯科技(深圳)有限公司 点云中邻居点的选择方法、装置及编解码器
WO2023116567A1 (zh) * 2021-12-20 2023-06-29 华为技术有限公司 数据编解码方法、装置和设备
WO2023133710A1 (zh) * 2022-01-11 2023-07-20 Oppo广东移动通信有限公司 编码方法、解码方法、编码器、解码器和编解码***
CN115951589A (zh) * 2023-03-15 2023-04-11 中科院南京天文仪器有限公司 基于最大化Kozachenko-Leonenko熵的恒星均匀选取方法

Also Published As

Publication number Publication date
WO2020070191A1 (en) 2020-04-09
JP2022501744A (ja) 2022-01-06
EP3514967A1 (en) 2019-07-24
CN112789803A (zh) 2021-05-11
US11900641B2 (en) 2024-02-13
EP4231241A1 (en) 2023-08-23
EP3514966B1 (en) 2023-04-26
EP3514968B1 (en) 2023-03-08
KR20210068041A (ko) 2021-06-08
JP7504086B2 (ja) 2024-06-21
FI3514966T3 (fi) 2023-06-28
KR20210068040A (ko) 2021-06-08
JP7507750B2 (ja) 2024-06-28
US20210004992A1 (en) 2021-01-07
EP3514967B1 (en) 2021-09-08
CN111615792B (zh) 2024-05-28
WO2020070192A1 (en) 2020-04-09
US20240185474A1 (en) 2024-06-06
US11455749B2 (en) 2022-09-27
US20210343046A1 (en) 2021-11-04
KR102627394B1 (ko) 2024-01-18
US20210350583A1 (en) 2021-11-11
FI3514968T3 (fi) 2023-05-25
JP2022503986A (ja) 2022-01-12
KR20200109334A (ko) 2020-09-22
EP3514968A1 (en) 2019-07-24
EP3514966A1 (en) 2019-07-24
CN112789804A (zh) 2021-05-11
US20220392118A1 (en) 2022-12-08
US11741638B2 (en) 2023-08-29
US20240078714A1 (en) 2024-03-07
WO2019140510A1 (en) 2019-07-25
EP3937140A1 (en) 2022-01-12
EP4213096A1 (en) 2023-07-19
US12020460B2 (en) 2024-06-25

Similar Documents

Publication Publication Date Title
CN111615792B (zh) 用于对点云进行熵编码的方法和设备
KR102631110B1 (ko) 포인트 클라우드의 이진 엔트로피 코딩을 위한 방법 및 장치
CN111615791B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240607

Address after: Illinois, USA

Patentee after: Ot patent trusteeship Co.,Ltd.

Country or region after: U.S.A.

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right

Effective date of registration: 20240619

Address after: Ai Erlandubailin

Patentee after: Mariki Innovation Ltd.

Country or region after: Ireland

Address before: Illinois, USA

Patentee before: Ot patent trusteeship Co.,Ltd.

Country or region before: U.S.A.