CN113678460B - 一种数据编码、数据解码方法、设备及存储介质 - Google Patents

一种数据编码、数据解码方法、设备及存储介质 Download PDF

Info

Publication number
CN113678460B
CN113678460B CN201980094966.7A CN201980094966A CN113678460B CN 113678460 B CN113678460 B CN 113678460B CN 201980094966 A CN201980094966 A CN 201980094966A CN 113678460 B CN113678460 B CN 113678460B
Authority
CN
China
Prior art keywords
point cloud
indicating
bit
header information
syntax element
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.)
Active
Application number
CN201980094966.7A
Other languages
English (en)
Other versions
CN113678460A (zh
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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN113678460A publication Critical patent/CN113678460A/zh
Application granted granted Critical
Publication of CN113678460B publication Critical patent/CN113678460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例提供了一种数据编码、数据解码方法、设备及存储介质,其中,该方法包括:获取待编码的点云数据;对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息;根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置;在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。通过这种方式可以避免编码时出现伪起始码,避免解码时进行去伪起始码的操作,提高了编码/解码的效率。

Description

一种数据编码、数据解码方法、设备及存储介质
技术领域
本发明涉及数据编解码领域,尤其涉及一种数据编码、数据解码方法、设备及存储介质。
背景技术
在现有的技术方案中,在编码点云头信息的时候需要按照与几何信息所采用的去伪起始码方案一样的方案,进行去伪起始码操作。在解码点云头信息的时候需要先剔除码流中的去伪起始码后再进行解码操作。这样在编码点云头信息这种码流时需要额外增加不少处理逻辑,并且在解码点云头信息时,也需要额外的处理逻辑以及时间开销。因此,如何提高对点云数据的编码/解码效率成为重要的研究问题。
发明内容
本发明实施例提供了一种数据编码、数据解码方法、设备及存储介质,可以避免编码时出现伪起始码,有助于解码时无需进行去伪起始码操作,提高解码效率。
第一方面,本发明实施例提供了一种数据编码方法,包括:
获取待编码的点云数据;
对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息;
根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置;
在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。
第二方面,本发明实施例提供了一种数据解码方法,包括:
获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码;
根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。
第三方面,本发明实施例提供了一种数据编码设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
获取待编码的点云数据;
对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息;
根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置;
在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。
第四方面,本发明实施例提供了一种数据解码设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码;
根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。
第五方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的数据编码方法或上述第二方面所述的数据解码方法。
本发明实施例,通过对待编码的点云数据进行编码得到码流数据,所述码流数据包括点云头信息,并根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,以及在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据,可以避免编码时出现伪起始码,有助于解码时无需进行去伪起始码操作,提高解码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种现有点云数据的编码流程示意图;
图2是本发明实施例提供的一种现有点云数据的解码流程示意图;
图3是本发明实施例提供的一种八叉树划分的示意图;
图4是本发明实施例提供的一种八叉树递归划分的示意图;
图5是本发明实施例提供的一种数据编码方法的流程示意图;
图6是本发明实施例提供的一种数据解码方法的流程示意图;
图7是本发明实施例提供的一种数据编码设备的结构示意图;
图8是本发明实施例提供的一种数据解码设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合,本发明实施例中的“多个”为“至少两个”。
本发明针对在目前AVS-PCC相关点云头信息的码流结构,为了能快速解码出点云头信息中所包含的内容,并且不会影响解码结果的正确性,本发明提出了一种对点云头信息中避免伪起始码的码流结构。在介绍本发明之前,首先对点云数据进行如下相关介绍。
在一个实施例中,所述点云数据是三维物体或场景的一种表现形式,是由空间中一组无规则分布、表达三维物体或场景空间结构和表面属性的离散点集所构成。为了准确反映空间中的信息,所需离散点的数目是巨大的。为了减少点云数据存储和传输时所占用的带宽,可以对点云数据进行编码压缩处理。
在一个实施例中,一个点云数据通常由描述坐标信息的三维坐标(x,y,z)以及该位置的属性信息如颜色(R,G,B)或者反射率等属性构成。在点云编码压缩过程中对位置坐标的编码通常与对属性的编码分开进行。压缩具体的过程包括,对位置坐标进行坐标平移以及坐标量化,对处理后的位置坐标进行八叉树编码,对八叉树划分情况进行熵编码得到几何码流。关于属性信息,如果属性值为颜色,首先可以选择是否进行颜色空间变换,接着,根据对位置坐标是否进行了去重复点选择是否根据重建出来的八叉树进行属性插值,接着进行属性预测,根据原始值和预测值计算残差,对残差进行量化,对量化后的系数值进行熵编码得到属性码流。
在一个实施例中,常见的点云数据压缩的编码流程如图1所示,图1是本发明实施例提供的一种现有点云数据的编码流程示意图。如图1所示,点云数据的编码包括对点云数据的位置坐标进行编码以及对属性信息进行编码。
在一个实施例中,在对位置坐标进行编码时,可以通过输入点云数据的位置坐标111,对输入的点云数据的位置坐标进行坐标平移和坐标量化112,接着对坐标平移和坐标量化后的位置坐标进行八叉树构建113,然后对八叉树划分情况进行熵编码114,得到几何码流115。
在一个实施例中,在对属性信息进行编码时,可以通过输入的点云数据的属性信息121,对属性信息121进行空间变换122,根据对位置坐标是否进行了去重复点选择的八叉树重建123,若是,则根据重建出来的八叉树进行属性插值124,接着进行属性预测125,根据原始属性值和属性预测125得到的预测属性值计算残差,并对残差进行残差量化126,从而对量化后的系数值进行熵编码127得到属性码流128。
在一个实施例中,在进行属性预测时,首先基于莫顿码对点云进行重排序,生成可用于点云属性预测的点云顺序。在属性编码中,莫顿码主要基于莫顿查询表进行计算得到,过程如下:
第一,遍历几何重建点云,得到当前点对应的几何坐标x、y和z;
第二,根据几何坐标查找莫顿表计算当前点所对应的莫顿码;
第三,基于莫顿码对点云进行重排序。
接着对排序后的属性值利用前项差分预测,根据预测值与原始值,得到属性残差。接着对属性残差进行量化。对量化之后的系数值进行系数编码即可得到属性码流。
在一个实施例中,所述点云数据压缩的解码流程是图1所示的编码的逆过程,具体如图2所示,图2是本发明实施例提供的一种现有点云数据的解码流程示意图。如图2所示,待解码的码流数据包括几何码流211和属性码流221。
在一个实施例中,在对几何码流211进行解码时,可以通过对几何码流211进行熵解码212,然后进行八叉树重建213、逆坐标量化214和逆坐标平移215得到位置坐标216。
在一个实施例中,在对属性码流221进行解码时,可以通过对属性码流221进行熵解码222得到系数值,并对系数值进行逆量化223得到残差,根据残差进行属性重建224,然后进行空间变换225得到属性信息226。
在一个实施例中,针对点云数据的位置坐标的压缩,首先对位置坐标进行坐标平移,坐标量化,将位置坐标转换为大于等于零的整数坐标,接着可以选择是否进行去除重复坐标的操作,接下来进行八叉树编码。在一些实施例中,所述八叉树编码是利用八叉树划分来压缩坐标位置的方法,其中,每层八叉树的划分均利用当前块的中心点的坐标进行子块划分,通过中心点将当前块划分为八个小的子块。具体如图3所示,图3是本发明实施例提供的一种八叉树划分的示意图,其中,将当前块31划分为8个小的子块。
在一个实施例中,在得到子块划分后,会判断每个子块内是否存在点云数据,对存在点云数据的子块会再进一步进行划分,直至子块划分至最小时,即子块边长为1时停止划分。如图4所示,图4是本发明实施例提供的一种八叉树递归划分的示意图,其中,子块41内存在点云数据,因此对子块41在进行划分得到8个子块,其中,子块411和子块412内存在点云数据,因此可以再分别对子块411和子块412进行划分,直至子块划分至最小时停止划分。
在一个实施例中,在几何信息(点数或者点与点的相对位置)改变了的情况下,如在位置坐标编码中进行了去除重复点的操作,则需进行属性差值,即重上色。在某些实施例中,所述几何信息为点云数据的点数或者点云数据中点与点之间的相对位置;在某些实施例中,所述重上色就是为重构点云中的每个点计算新的属性值,使得重构点云和原始点云的属性误差最小。
在一个实施例中,给定原始点云数据的位置坐标信息和属性信息,以及重构点云的几何信息,所述重上色的实现过程如下:
第一,设原始点云和重构点云的几何信息分别为(Pi)i=0...N-1其中N和Nrec分别为原始点云和重构点云中的点数,易知如果去除了重复点,则Nrec<N,否则Nrec=N。
第二,对于重构点云中的每个点在原始点云中找到与之距离最近的点Pi *,设Pi *的属性值为/>
第三,对原始点云中的每个点,在重构点云中找与之距离最近的点。对于重构点云中的点令U(i)=(Xk(i))k∈{1,...,D(i)}为原始点云中,均以/>为最近点的点集,其中D(i)为U(i)中包含点的个数,注意U(i)可以为空,也可以包含一个或多个点。
第四:为重构点云中的每个点计算重构属性值,若U(i)为空,那么直接将/>作为重构属性值赋给/>若U(i)不为空,则重构点的属性值U(i)中所有点的属性均值,计算公式如下公式(1)所示:
表1
其中,sequence_header()用于指示序列头、level_idc用于指示保留字、bounding_box_offset_x用于指示在包围点云的立方体的在x轴方向的偏移坐标、quant_step_upper用于指示几何量化参数的高位、quant_step_lower用于指示几何量化参数的低位、geomRemoveDuplicateFlag用于指示是否去除重复点云的标志位、attribute_quantstep用于指示属性量化参数、byte_alignment()用于指示字节对齐操作。
现有的码流结构按照起始码方案,例如起始码为0x00 00 01(0x表明后面的数是按照十六进制表示)。在序列头信息、属性头信息、几何数据、属性数据,这四组数据前都会加上起始码进行标识。在码流当中,除了起始码之外的码流存在与起始码相同的码流。在一个示例中,所述序列头信息如表1所示。
在一个示例中,所述属性头信息如表2所示。
表2
其中,withColor用于指示点云的属性信息中是否包含颜色、withRef用于指示点云的属性信息中是否包含反射率、byte_alignment()用于指示字节对齐操作。
在一个示例中,所述几何数据如表3所示。
表3
其中,geometry_data()用于指示点云的几何数据、Geometry_data_alignment()用于指示几何数据的字节对齐操作。
在一个示例中,所述属性数据如表4所示。
表4
其中,attribute_data用()用于指示点云的属性数据、Attribute_byte_alignment()用于指示属性数据的字节对齐操作。
其中,上述表1、表2、表3、表4中描述符的定义如表5所示:
表5
描述符 说明
ae(v) 高级熵编码的语法元素。
f(n) 取特定值的连续n个二进制位。
se(v) 有符号整数语法元素,用指数哥伦布编码。
u(n) n位无符号整数。
ue(v) 无符号整数语法元素,用指数哥伦布编码。
其中,k阶指数哥伦布码可用如下步骤生成:
①将数字N以二进制形式写出,去掉最低的k个比特位,之后加1;
②计算留下的比特位数,将此数减一,即是需要增加的前缀零的个数;
③将步骤①中去掉的最低k个比特位补回比特串尾部。
在一个示例中,以属性反射率的数值为4时,一阶指数哥伦布编码为例:
①4的二进制表示为100,去掉最低1个比特位0变为10,加1后变为11;
②11的比特数为2,因此前缀中0的个数为1;
③在比特串最低比特位补上步骤①中去掉的0,最终码字为0110。
对于k阶哥伦布码,前缀由m个连续的0和一个1构成,后缀由m+k构成,是N-2k(2m-1)的二进制表示。
解析k阶指数哥伦布码时,首先从比特流的当前位置开始寻找第一个非零比特,并将找到的零比特个数记为m,第一个非零比特之后m+k位二进制比特串的十进制值为value,计算出的解码值codeNum如式2所示。
codeNum=2m+k-2k+Value (2)
目前,为了防止出现伪起始码,编码时主要按照以下方法处理:写入一位时,如果该位是一个字节的第二最低有效位,检查该位之前写入的22位,如果这22位都是‘0’,在该位之前插入‘10’,该位成为下一个字节的最高有效位,该处理过程即为去伪起始码过程。解码时主要按以下方法处理:每读入一个字节时,检查前面读入的两个字节和当前字节,如果这三个字节构成位串‘0000 0000 0000 0000 0000 0010’,丢弃当前字节的最低两个有效位。然而,这种方式在解码点云头信息中的序列头信息、属性头信息时,需要先剔除码流中的去伪起始码后再进行解码操作。这种编码方式在编码点云头信息时得到的码流需要额外增加不少处理逻辑。并且在解码点云头信息时,也需要额外的处理逻辑以及时间开销。
因此,本发明实施例提出了一种数据编码方法以及对应的数据解码方法,通过获取待编码的点云数据,在对点云数据进行压缩编码时,对点云头信息在特定位置插入指定标志位,从而避免在点云头信息中出现伪起始码,在对点云头信息的编码和解码过程中,不需要进行去伪起始码的相关操作。在某些实施例中,所述点云头信息包括序列头信息和/或属性头信息。
本发明实施例提出的所述数据编码方法可以应用于数据编码设备,所述数据编码设备可以设置在智能终端(如手机、平板电脑等)上。所述数据解码方法可以应用于数据解码设备,所述数据解码设备也可以设置在智能终端(如手机、平板电脑等)上。在某些实施例中,本发明实施例还可应用于飞行器(如无人机)上,在其他实施例中,本发明实施例还可以应用于其他可移动平台(如无人船、无人汽车、机器人等)上,本发明实施例不做具体限定。
下面结合附图对本发明实施例提供的数据编码、数据解码方法进行示意性说明。
具体请参见图5,图5是本发明实施例提供的一种数据编码方法的流程示意图。所述方法可以应用于数据编码设备,其中,所述数据编码设备的解释如前所述,此处不再赘述。具体地,本发明实施例的所述方法包括如下步骤。
S501:获取待编码的点云数据。
本发明实施例中,数据编码设备可以获取待编码的点云数据。
在一些实施例中,所述点云数据可以通过一个或多个采集设备获取得到;在某些实施例中,所述采集设备可以包括但不限于激光雷达、激光扫描仪等设备。
需要说明的是,所述激光雷达是一种感知传感器,可以获得场景的三维信息。其基本原理为主动对被探测对象发射激光脉冲信号,并获得其反射回来的脉冲信号,根据发射信号和接收信号之间的时间差计算被测对象的距离探测器的深度信息;基于激光雷达的已知发射方向,获得被测对象相对激光雷达的角度信息;结合前述深度信息和角度信息得到海量的探测点(称为点云数据)。
S502:对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息。
本发明实施例中,数据编码设备可以对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息。在某些实施例中,所述点云头信息中包括序列头信息、属性头信息、几何数据、属性数据中的任意一种或多种,所述序列头信息、属性头信息、几何数据、属性数据的详细说明请见前述表1-表5,此处不再赘述。
S503:根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置。
本发明实施例中,数据编码设备可以根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置。
在一个实施例中,数据编码设备在根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,可以根据所述点云头信息中的语法元素,确定两个相邻语法元素之间的位置为所述指定位置。
在一个实施例中,所述语法元素包括序列头信息和/或属性头信息中的语法元素。在一个实施例中,所述语法元素包括以下至少一项:保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
在一个实施例中,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;和/或,所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。在某些实施例中,所述至少一个语法元素被拆分成2个子语法元素。
在一个示例中,所述保留字可以为level_idc、所述用于指示在包围点云的立方体的在x轴方向的偏移坐标可以是bounding_box_offset_x、所述用于指示在包围点云的立方体的在y轴方向的偏移坐标可以是bounding_box_offset_y、所述用于指示在包围点云的立方体的在z轴方向的偏移坐标可以是bounding_box_offset_z、所述用于指示在包围点云的立方体的宽度可以是bounding_box_size_width、所述用于指示在包围点云的立方体的深度可以是bounding_box_size_depth、所述用于指示在包围点云的立方体的高度可以是bounding_box_size_height、所述几何量化参数可以包括几何量化参数的高位和几何量化参数的地位,所述几何量化参数的高位可以是quant_step_upper、所述几何量化参数的低位可以是quant_step_lower、所述用于指示是否去除重复点云的标志位可以是geomRemoveDuplicateFlag、所述属性量化参数可以是attribute_quantstep、所述点云数量可以是num_points。
以表1所述的序列头信息为例,数据编码设备可以根据如表1所述的序列头信息中的语法元素,确定level_idc和bounding_box_offset_x两个相邻语法元素之间的位置为指定位置,以及quant_step_upper、quant_step_lower、geomRemoveDuplicateFlag、attribute_quantstep各个两两相邻语法元素之间的位置为指定位置。
可见,通过在两两相邻的语法元素之间插入指定标志位,可以避免序列头信息中出现伪起始码。
在一个实施例中,数据编码设备在根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,可以根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素,并确定拆分后的各个相邻子语法元素之间的位置为所述指定位置。
以表1所述的序列头信息为例,数据编码设备可以根据如表1所述的序列头信息中的语法元素,对表1中的序列头信息中的bounding_box_offset_x、bounding_box_offset_y、bounding_box_offset_z、bounding_box_size_width、bounding_box_size_height、bounding_box_size_depth、num_points这些语法元素进行拆分,得到对应的bounding_box_offset_x-upper、bounding_box_offset_x-lower、bounding_box_offset_y-upper、bounding_box_offset_y-lower、bounding_box_offset_z-upper、bounding_box_offset_z-lower、bounding_box_size_width-upper、bounding_box_size_width-lower、bounding_box_size_height-upper、bounding_box_size_height-lower、bounding_box_size_depth-upper、bounding_box_size_depth-lower、num_points-upper、num_points-lower中的至少两个子语法元素,并确定拆分后的各个相邻子语法元素之间的位置为所述指定位置。
在一个示例中,bounding_box_offset_x-upper用于指示包围点云的立方体在x轴方向的偏移坐标的高位、bounding_box_offset_x-lower用于指示包围点云的立方体在x轴方向的偏移坐标的低位、bounding_box_offset_y-upper用于指示包围点云的立方体在y轴方向的偏移坐标的高位、bounding_box_offset_y-lower用于指示包围点云的立方体在y轴方向的偏移坐标的低位、bounding_box_offset_z-upper用于指示包围点云的立方体在z轴方向的偏移坐标的高位、bounding_box_offset_z-lower用于指示包围点云的立方体在z轴方向的偏移坐标的低位、bounding_box_size_width-upper用于指示包围点云的立方体的宽度的高位、bounding_box_size_width-lower用于指示包围点云的立方体的宽度的低位、bounding_box_size_height-upper用于指示指示包围点云的立方体的高度的高位、bounding_box_size_height-lower用于指示包围点云的立方体的宽度的低位、bounding_box_size_depth-upper用于指示包围点云的立方体的深度的高位、bounding_box_size_depth-lower用于指示包围点云的立方体的深度的低位、num_points-upper用于指示三维空间的立方体中点云的数量的高位、num_points-lower用于指示三维空间的立方体中点云的数量的低位。
在一个实施例中,数据编码设备在根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,可以根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素。
在一个实施例中,数据编码设备在根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,当确定所述点云头信息中语法元素的二值化编码方法为变长编码时,根据第一拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第一拆分长度的子语法元素。在某些实施例中,所述第一拆分长度为16比特bit。在某些实施例中,所述语法元素拆分后得到的子语法元素的长度均小于等于所述第一拆分长度。在某些实施例中,所述变长编码可以包括但不限于指数哥伦布编码、截断莱斯编码等。
以表1中序列头信息描述立方体块坐标的起始位置x方向坐标即bounding_box_offset_x语法元素为例,当确定该语法元素采用有符号0阶指数哥伦布编码进行二值化编码时,本发明实施例将bounding_box_offset_x语法元素拆分为高16bit的bounding_box_offset_x_upper和低16bit的bounding_box_offset_x_lower两个子语法元素。
可见,通过这种实施方式,可以避免在前缀码中出现超过连续22bit的0的情况,以进一步避免序列头信息中出现伪起始码。
在一个实施例中,数据编码设备在根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,当确定所述点云头信息中语法元素的二值化编码方法为定长编码时,可以根据第二拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第二拆分长度的子语法元素。在某些实施例中,所述第二拆分长度为16比特bit。具体实施例例与前述变成编码方法对应的对语法元素的拆分方式相同,此处不再赘述。
可见,通过在两两相邻的语法元素之间插入指定标志位,以及在拆分得到的各个相邻子语法元素之间插入指定标志位,可以有效避免点云头信息的序列头信息中出现伪起始码。
S504:在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。
本发明实施例中,数据编码设备可以在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。在某些实施例中,所述指定标志位为1。
在一个实施例中,数据编码设备在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据时,如果确定出两个相邻语法元素之间的位置为所述指定位置,则可以在所述两个相邻语法元素之间插入指定标志位,得到去伪码流数据。
以表1和表6所述的序列头信息为例,对表1中的序列头信息中的level_idc和bounding_box_offset_x两个相邻语法元素之间插入指定标志位marker_bit如1bit,得到level_idc、marker_bit、bounding_box_offset_x,以及在quant_step_upper、quant_step_lower、geomRemoveDuplicateFlag、attribute_quantstep两两相邻的语法元素之间插入指定标志位得到:quant_step_upper、marker_bit、quant_step_lower、marker_bit、geomRemoveDuplicateFlag、marker_bit、attribute_quantstep。
在一个实施例中,数据编码设备在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据时,如果确定出拆分后的各个相邻子语法元素之间的位置为所述指定位置,则可以在拆分后的各个相邻子语法元素之间插入指定标志位,得到去伪码流数据。
在一个实施例中,所述去伪码流数据中包括:保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
以表1和表6所述的序列头信息为例,对表1中的序列头信息中的bounding_box_offset_x、bounding_box_offset_y、bounding_box_offset_z、bounding_box_size_width、bounding_box_size_height、bounding_box_size_depth、num_points这些语法元素进行拆分,得到对应的bounding_box_offset_x-upper、bounding_box_offset_x-lower、bounding_box_offset_y-upper、bounding_box_offset_y-lower、bounding_box_offset_z-upper、bounding_box_offset_z-lower、bounding_box_size_width-upper、bounding_box_size_width-lower、bounding_box_size_height-upper、bounding_box_size_height-lower、bounding_box_size_depth-upper、bounding_box_size_depth-lower、num_points-upper、num_points-lower多个相邻的16bit的子语法元素,通过在各个相邻的16bit的子语法元素之间插入指定标志位,得到如表6所示的插入标志位后的序列头信息。
在一个实施例中,数据编码设备在拆分后的各个相邻子语法元素之间插入指定标志位,得到去伪码流数据时,可以在各个相邻的子语法元素之间插入指定标志位,得到去伪码流数据。
表6
/>
其中,bounding_box_offset_x-upper用于指示包围点云的立方体在x轴方向的偏移坐标的高位、marker_bit用于指示指定标志位、bounding_box_offset_x-lower用于指示包围点云的立方体在x轴方向的偏移坐标的低位、bounding_box_offset_y-upper用于指示包围点云的立方体在y轴方向的偏移坐标的高位、bounding_box_offset_y-lower用于指示包围点云的立方体在y轴方向的偏移坐标的低位、bounding_box_offset_z-upper用于指示包围点云的立方体在z轴方向的偏移坐标的高位、bounding_box_offset_z-lower用于指示包围点云的立方体在z轴方向的偏移坐标的低位、bounding_box_size_width-upper用于指示包围点云的立方体的宽度的高位、bounding_box_size_width-lower用于指示包围点云的立方体的宽度的低位、bounding_box_size_height-upper用于指示指示包围点云的立方体的高度的高位、bounding_box_size_height-lower用于指示包围点云的立方体的宽度的低位、bounding_box_size_depth-upper用于指示包围点云的立方体的深度的高位、bounding_box_size_depth-lower用于指示包围点云的立方体的深度的低位、num_points-upper用于指示三维空间的立方体中点云的数量的高位、num_points-lower用于指示三维空间的立方体中点云的数量的低位。
本发明实施例中,数据编码设备可以对待编码的点云数据进行编码得到码流数据,所述码流数据包括点云头信息,并根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,从而在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。通过这种实施方式,可以有效避免伪起始码的出现,提高了编码效率。
请参见图6,图6是本发明实施例提供的一种数据解码方法的流程示意图,所述方法可以应用于数据解码设备,其中,所述数据解码设备的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
S601:获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码。
本发明实施例中,数据解码设备可以获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码。在一个示例中,所述指定标志位为1。
在某些实施例中,所述点云头信息中包括序列头信息、属性头信息、几何数据、属性数据中的任意一种或多种,所述序列头信息、属性头信息、几何数据、属性数据的详细说明请见前述表1-表5,此处不再赘述。
在一个实施例中,所述码流数据中包括:保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
S602:根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。
本发明实施例中,数据解码设备可以根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。
在一个实施例中,所述语法元素包括以下至少一项:保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
在一个实施例中,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;和/或,所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。在某些实施例中,所述至少一个语法元素被拆分成2个子语法元素。在某些实施例中,所述语法元素包括序列头信息和/或属性头信息中的语法元素。
在一个示例中,所述保留字可以为level_idc、所述用于指示在包围点云的立方体的在x轴方向的偏移坐标可以是bounding_box_offset_x、所述用于指示在包围点云的立方体的在y轴方向的偏移坐标可以是bounding_box_offset_y、所述用于指示在包围点云的立方体的在z轴方向的偏移坐标可以是bounding_box_offset_z、所述用于指示在包围点云的立方体的宽度可以是bounding_box_size_width、所述用于指示在包围点云的立方体的深度可以是bounding_box_size_depth、所述用于指示在包围点云的立方体的高度可以是bounding_box_size_height、所述几何量化参数可以包括几何量化参数的高位和几何量化参数的地位,所述几何量化参数的高位可以是quant_step_upper、所述几何量化参数的低位可以是quant_step_lower、所述用于指示是否去除重复点云的标志位可以是geomRemoveDuplicateFlag、所述属性量化参数可以是attribute_quantstep、所述点云数量可以是num_points。
在一个实施例中,数据解码设备在根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码时,可以根据所述码流数据中点云头信息中语法元素的二值化编码方法,确定所述点云头信息中的指定位置,所述指定标志位位于所述指定位置处,并根据去除所述点云头信息的指定位置处的指定标志位后的码流数据进行解码。
在一个实施例中,所述指定标志位位于所述头信息中相邻的两个语法元素之间;和/或,所述指定标志位位于所述头信息中一个语法元素之间,所述指定标志位将所述一个语法元素拆分成至少两个子语法元素。
在一个实施例中,所述指定标志位将所述一个语法元素拆分成至少两个子语法元素,每个子语法元素的长度均小于等于第一拆分长度,所述第一拆分长度是根据所述语法元素的二值化编码方法确定的。
在一个示例中,当所述指定标志位位于所述头信息中相邻的两个语法元素之间时,以表6为例,假设码流数据中点云头信息的序列头信息包括level_idc、marker_bit、bounding_box_offset_x,则可以确定level_idc和bounding_box_offset_x两个相邻语法元素之间marker_bit所处的位置为指定位置,并根据去除所述指定位置处的指定标志位marker_bit后的码流数据进行解码。
又例如,假设码流数据中点云头信息的序列头信息包括quant_step_upper、marker_bit、quant_step_lower、marker_bit、geomRemoveDuplicateFlag、marker_bit、attribute_quantstep,则可以确定两两相邻的语法元素之间marker_bit所处的位置为指定位置,并根据去除所述指定位置处的指定标志位marker_bit后的码流数据进行解码。
可见,通过这种实施方式进行解码,无需进行去伪起始码的相关操作,提高了解码效率。
在一个实施例中,当所述点云头信息中语法元素的二值化编码方法为变长编码时,所述码流数据中的点云头信息中的各个语法元素根据第一拆分长度进行拆分,得到至少两个子语法元素;所述指定位置为各个相邻的子语法元素之间的位置。
在一种实施方式,数据解码设备可以根据第一拆分长度对所述码流数据中的点云头信息中的各个语法元素进行拆分,得到至少两个子语法元素,并确定各个相邻的子语法元素之间的位置为所述指定位置,从而去除所述各个相邻的子语法元素之间的指定标志位对所述码流数据进行解码。在某些实施例中,所述第一拆分长度为16比特。
以表6为例,假设码流数据中点云头信息的序列头信息包括bounding_box_offset_x-upper、指定标志位、bounding_box_offset_x-lower、指定标志位、bounding_box_offset_y-upper、指定标志位、bounding_box_offset_y-lower、bounding_box_offset_z-upper、指定标志位、bounding_box__offset_z-lower、指定标志位、bounding_box__size_width-upper、指定标志位、bounding_box_size_width-lower、指定标志位、bounding_box_size_height-upper、指定标志位、bounding_box__size_height-lower、指定标志位、bounding_box_size_depth-upper、指定标志位、bounding_box__size_depth-lower、指定标志位、num_points-upper、指定标志位、num_points-lower,则可以确定两两相邻的子语法元素之间marker_bit所处的位置为指定位置,并忽略marker_bit指定标志位对所述码流数据进行解码。
在一个实施例中,当所述点云头信息中语法元素的二值化编码方法为定长编码时,对所述码流数据中的点云头信息中的各个语法元素根据第二拆分长度进行拆分,得到至少两个子语法元素;所述指定位置为各个相邻的子语法元素之间的位置。在某些实施例中,所述第二拆分长度为16比特。
可见,通过这种实施方式进行解码,无需进行去伪起始码的相关操作,可以进一步提高了解码效率。
本发明实施例中,数据解码设备可以获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,并根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。通过这种实施方式,可以避免解码时进行去伪起始码的相关操作,提高了解码效率。
请参见图7,图7是本发明实施例提供的一种数据编码设备的结构示意图,具体的,所述数据编码设备包括:存储器701、处理器702以及数据接口703。
所述存储器701可以包括易失性存储器(volatile memory);存储器701也可以包括非易失性存储器(non-volatile memory);存储器701还可以包括上述种类的存储器的组合。所述处理器702可以是中央处理器(central processing unit,CPU)。所述处理器702还可以进一步包括硬件数据编码设备。上述硬件数据编码设备可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。具体例如可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA)或其任意组合。
进一步地,所述存储器701用于存储程序指令,当程序指令被执行时所述处理器702可以调用存储器701中存储的程序指令,用于执行如下步骤:
获取待编码的点云数据;
对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息;
根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置;
在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。
进一步地,所述处理器702根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,具体用于:
根据所述点云头信息中的语法元素,确定两个相邻语法元素之间的位置为所述指定位置;
所述处理器702在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据时,具体用于:
在所述两个相邻语法元素之间插入指定标志位,得到去伪码流数据。
进一步地,所述处理器702根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,具体用于:
根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素;
确定拆分后的各个相邻子语法元素之间的位置为所述指定位置;
所述处理器702在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据时,具体用于:
在拆分后的各个相邻子语法元素之间插入指定标志位,得到去伪码流数据。
进一步地,所述处理器702根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素。
进一步地,所述处理器702根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
当确定所述点云头信息中语法元素的二值化编码方法为变长编码时,根据第一拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第一拆分长度的子语法元素。
进一步地,所述语法元素拆分后得到的子语法元素的长度均小于等于所述第一拆分长度。
进一步地,所述第一拆分长度为16比特。
进一步地,所述处理器702根据所述点云头信息中各个语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
当确定所述点云头信息中语法元素的二值化编码方法为定长编码时,根据指定拆分长度对第二拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第二拆分长度的子语法元素。
进一步地,所述处理器702在拆分后的各个相邻子语法元素之间插入指定标志位,得到去伪码流数据时,具体用于:
在各个相邻的子语法元素之间插入指定标志位,得到去伪码流数据。
进一步地,所述第二拆分长度为16比特。
进一步地,所述指定标志位为1。
进一步地,所述语法元素包括序列头信息和/或属性头信息中的语法元素。
进一步地,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
进一步地,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
进一步地,所述至少一个语法元素被拆分成2个子语法元素。
进一步地,所述去伪码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
本发明实施例中,数据编码设备可以对待编码的点云数据进行编码得到码流数据,所述码流数据包括点云头信息,并根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,从而在所述点云头信息的指定位置插入指定标志位,得到去伪码流数据。通过这种实施方式,可以有效避免伪起始码的出现,提高了编码效率。
请参见图8,图8是本发明实施例提供的一种数据解码设备的结构示意图,具体的,所述数据解码设备包括:存储器801、处理器802以及数据接口803。
所述存储器801可以包括易失性存储器(volatile memory);存储器801也可以包括非易失性存储器(non-volatile memory);存储器801还可以包括上述种类的存储器的组合。所述处理器802可以是中央处理器(central processing unit,CPU)。所述处理器802还可以进一步包括硬件数据编码设备。上述硬件数据编码设备可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。具体例如可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA)或其任意组合。
进一步地,所述存储器801用于存储程序指令,当程序指令被执行时所述处理器802可以调用存储器801中存储的程序指令,用于执行如下步骤:
获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码;
根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。
进一步地,所述处理器802根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码时,具体用于:
根据所述码流数据中点云头信息中语法元素的二值化编码方法,确定所述点云头信息中的指定位置,所述指定标志位位于所述指定位置处;
根据去除所述点云头信息的指定位置处的指定标志位后的码流数据进行解码。
进一步地,所述指定标志位位于所述头信息中相邻的两个语法元素之间;
和/或,
所述指定标志位位于所述头信息中一个语法元素之间,所述指定标志位将所述一个语法元素拆分成至少两个子语法元素。
进一步地,所述指定标志位将所述一个语法元素拆分成至少两个子语法元素,每个子语法元素的长度均小于等于第一拆分长度,所述第一拆分长度是根据所述语法元素的二值化编码方法确定的。
进一步地,当所述点云头信息中语法元素的二值化编码方法为变长编码时,所述码流数据中的点云头信息中的各个语法元素根据第一拆分长度进行拆分,得到至少两个子语法元素;
所述指定位置为各个相邻的子语法元素之间的位置。
进一步地,所述第一拆分长度为16比特。
进一步地,当所述点云头信息中语法元素的二值化编码方法为定长编码时,对所述码流数据中的点云头信息中的各个语法元素根据第二拆分长度进行拆分,得到至少两个子语法元素;
所述指定位置为各个相邻的子语法元素之间的位置。
进一步地,所述第二拆分长度为16比特。
进一步地,所述指定标志位为1。
进一步地,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
进一步地,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
进一步地,所述至少一个语法元素被拆分成2个子语法元素。
进一步地,所述语法元素包括序列头信息和/或属性头信息中的语法元素。
进一步地,所述码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
本发明实施例中,数据解码设备可以获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,并根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据。通过这种实施方式,可以避免解码时进行去伪起始码的相关操作,提高了解码效率。
在本发明的实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例图5中描述的数据编码方法方式,或图6中描述的数据解码方法方式,也可实现图7所述本发明所对应实施例的数据编码设备,或图8所述本发明所对应实施例的数据解码设备,在此不再赘述。
所述计算机可读存储介质可以是前述任一项实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (61)

1.一种数据编码方法,其特征在于,包括:
获取待编码的点云数据;
对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息,其中,所述点云头信息中的语法元素包括至少两个子语法元素;
在所述至少两个子语法元素中的各个相邻子语法元素之间的位置设置有指定标志位,得到不包含伪起始码的码流数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,以及在所述点云头信息的所述指定位置插入所述指定标志位,得到不包含伪起始码的码流数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,包括:
根据所述点云头信息中的语法元素,确定两个相邻语法元素之间的位置为所述指定位置;
所述在所述点云头信息的指定位置插入指定标志位,得到不包含伪起始码的码流数据,包括:
在所述两个相邻语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
4.根据权利要求2所述的方法,其特征在于,所述根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置,包括:
根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到所述至少两个子语法元素;
确定拆分后的各个相邻子语法元素之间的位置为所述指定位置;
所述在所述点云头信息的所述指定位置插入所述指定标志位,得到不包含伪起始码的码流数据,包括:
在拆分后的各个相邻子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素,包括:
根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素。
6.根据权利要求5所述的方法,其特征在于,所述根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素,包括:
当确定所述点云头信息中语法元素的二值化编码方法为变长编码时,根据第一拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第一拆分长度的子语法元素。
7.根据权利要求6所述的方法,其特征在于,所述语法元素拆分后得到的子语法元素的长度均小于等于所述第一拆分长度。
8.根据权利要求6所述的方法,其特征在于,所述第一拆分长度为16比特。
9.根据权利要求5所述的方法,其特征在于,所述根据所述点云头信息中各个语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素,包括:
当确定所述点云头信息中语法元素的二值化编码方法为定长编码时,根据指定拆分长度对第二拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第二拆分长度的子语法元素。
10.根据权利要求6或9所述的方法,其特征在于,所述在拆分后的各个相邻子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据,包括:
在各个相邻的子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
11.根据权利要求9所述的方法,其特征在于,所述第二拆分长度为16比特。
12.根据权利要求3-9任一项所述的方法,其特征在于,所述指定标志位为1。
13.根据权利要求3-9任一项所述的方法,其特征在于,
所述语法元素包括序列头信息和/或属性头信息中的语法元素。
14.根据权利要求13所述的方法,其特征在于,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
15.根据权利要求14所述的方法,其特征在于,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
16.根据权利要求15所述的方法,其特征在于,所述至少一个语法元素被拆分成2个子语法元素。
17.根据权利要求15所述的方法,其特征在于,所述不包含伪起始码的码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
18.一种数据解码方法,其特征在于,包括:
获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码;
根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据;
所述指定标志位位于所述点云头信息中相邻的两个语法元素之间;
和,
所述点云头信息中的语法元素包括至少两个子语法元素,所述指定标志位位于所述至少两个子语法元素中的各个相邻子语法元素之间。
19.根据权利要求18所述的方法,其特征在于,所述根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,包括:
根据所述码流数据中点云头信息中语法元素的二值化编码方法,确定所述点云头信息中的指定位置,所述指定标志位位于所述指定位置处;
根据去除所述点云头信息的指定位置处的指定标志位后的码流数据进行解码。
20.根据权利要求19所述的方法,其特征在于,所述指定标志位将一个语法元素拆分成至少两个子语法元素,每个子语法元素的长度均小于等于第一拆分长度,所述第一拆分长度是根据所述语法元素的二值化编码方法确定的。
21.根据权利要求18所述的方法,其特征在于,当所述点云头信息中语法元素的二值化编码方法为变长编码时,所述码流数据中的点云头信息中的各个语法元素根据第一拆分长度进行拆分,得到至少两个子语法元素;
指定位置为各个相邻的子语法元素之间的位置。
22.根据权利要求21所述的方法,其特征在于,所述第一拆分长度为16比特。
23.根据权利要求18所述的方法,其特征在于,当所述点云头信息中语法元素的二值化编码方法为定长编码时,对所述码流数据中的点云头信息中的各个语法元素根据第二拆分长度进行拆分,得到至少两个子语法元素;
指定位置为各个相邻的子语法元素之间的位置。
24.根据权利要求23所述的方法,其特征在于,所述第二拆分长度为16比特。
25.根据权利要求18-20任一项所述的方法,其特征在于,所述指定标志位为1。
26.根据权利要求18所述的方法,其特征在于,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
27.根据权利要求26所述的方法,其特征在于,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
28.根据权利要求27所述的方法,其特征在于,所述至少一个语法元素被拆分成2个子语法元素。
29.根据权利要求18-24任一项所述的方法,其特征在于,
所述语法元素包括序列头信息和/或属性头信息中的语法元素。
30.根据权利要求18所述的方法,其特征在于,所述码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
31.一种数据编码设备,其特征在于,包括:存储器和处理器,
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
获取待编码的点云数据;
对所述点云数据进行编码得到码流数据,所述码流数据包括点云头信息,其中,所述点云头信息中的语法元素包括至少两个子语法元素;
在所述至少两个子语法元素中的各个相邻子语法元素之间的位置设置有指定标志位,得到不包含伪起始码的码流数据。
32.根据权利要求31所述的设备,其特征在于,所述处理器根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置;以及在所述点云头信息的指定位置插入所述指定标志位,得到所述不包含伪起始码的码流数据。
33.根据权利要求32所述的设备,其特征在于,所述处理器根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,具体用于:
根据所述点云头信息中的语法元素,确定两个相邻语法元素之间的位置为所述指定位置;
所述处理器在所述点云头信息的指定位置插入所述指定标志位,得到所述不包含伪起始码的码流数据时,具体用于:
在所述两个相邻语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
34.根据权利要求32所述的设备,其特征在于,所述处理器根据所述点云头信息中的语法元素,确定所述点云头信息中的指定位置时,具体用于:
根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素;
确定拆分后的各个相邻子语法元素之间的位置为所述指定位置;
所述处理器在所述点云头信息的指定位置插入指定标志位,得到不包含伪起始码的码流数据时,具体用于:
在拆分后的各个相邻子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
35.根据权利要求34所述的设备,其特征在于,所述处理器根据所述点云头信息中的语法元素对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素。
36.根据权利要求35所述的设备,其特征在于,所述处理器根据所述点云头信息中语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
当确定所述点云头信息中语法元素的二值化编码方法为变长编码时,根据第一拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第一拆分长度的子语法元素。
37.根据权利要求36所述的设备,其特征在于,所述语法元素拆分后得到的子语法元素的长度均小于等于所述第一拆分长度。
38.根据权利要求36所述的设备,其特征在于,所述第一拆分长度为16比特。
39.根据权利要求35所述的设备,其特征在于,所述处理器根据所述点云头信息中各个语法元素的二值化编码方法对所述点云头信息中的语法元素进行拆分,得到至少两个子语法元素时,具体用于:
当确定所述点云头信息中语法元素的二值化编码方法为定长编码时,根据指定拆分长度对第二拆分长度对所述点云头信息中的语法元素进行拆分,得到至少一个第二拆分长度的子语法元素。
40.根据权利要求36或39所述的设备,其特征在于,所述处理器在拆分后的各个相邻子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据时,具体用于:
在各个相邻的子语法元素之间插入指定标志位,得到不包含伪起始码的码流数据。
41.根据权利要求39所述的设备,其特征在于,所述第二拆分长度为16比特。
42.根据权利要求33-39任一项所述的设备,其特征在于,所述指定标志位为1。
43.根据权利要求33-39任一项所述的设备,其特征在于,
所述语法元素包括序列头信息和/或属性头信息中的语法元素。
44.根据权利要求43所述的设备,其特征在于,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
45.根据权利要求44所述的设备,其特征在于,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
46.根据权利要求45所述的设备,其特征在于,所述至少一个语法元素被拆分成2个子语法元素。
47.根据权利要求45所述的设备,其特征在于,所述不包含伪起始码的码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
48.一种数据解码设备,其特征在于,包括:存储器和处理器,
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
获取码流数据,所述码流数据包括点云头信息,所述点云头信息中包括指定标志位,所述指定标志位用于防止伪起始码;
根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码,得到与所述码流数据对应的点云数据;
所述指定标志位位于所述点云头信息中相邻的两个语法元素之间;
和,
所述点云头信息中的语法元素包括至少两个子语法元素,所述指定标志位位于所述至少两个子语法元素中的各个相邻子语法元素之间。
49.根据权利要求48所述的设备,其特征在于,所述处理器根据所述码流数据中点云头信息中语法元素的二值化编码方法对所述码流数据进行解码时,具体用于:
根据所述码流数据中点云头信息中语法元素的二值化编码方法,确定所述点云头信息中的指定位置,所述指定标志位位于所述指定位置处;
根据去除所述点云头信息的指定位置处的指定标志位后的码流数据进行解码。
50.根据权利要求49所述的设备,其特征在于,所述指定标志位将一个语法元素拆分成至少两个子语法元素,每个子语法元素的长度均小于等于第一拆分长度,所述第一拆分长度是根据所述语法元素的二值化编码方法确定的。
51.根据权利要求48所述的设备,其特征在于,当所述点云头信息中语法元素的二值化编码方法为变长编码时,所述码流数据中的点云头信息中的各个语法元素根据第一拆分长度进行拆分,得到至少两个子语法元素;
指定位置为各个相邻的子语法元素之间的位置。
52.根据权利要求51所述的设备,其特征在于,所述第一拆分长度为16比特。
53.根据权利要求48所述的设备,其特征在于,当所述点云头信息中语法元素的二值化编码方法为定长编码时,对所述码流数据中的点云头信息中的各个语法元素根据第二拆分长度进行拆分,得到至少两个子语法元素;
指定位置为各个相邻的子语法元素之间的位置。
54.根据权利要求53所述的设备,其特征在于,所述第二拆分长度为16比特。
55.根据权利要求48-50任一项所述的设备,其特征在于,所述指定标志位为1。
56.根据权利要求48所述的设备,其特征在于,所述语法元素包括以下至少一项:
保留字、用于指示在包围点云的三维空间体的位置、用于指示在包围点云的三维空间体的尺寸、几何量化参数、属性量化参数、用于指示是否去除重复点云的标志位、点云数量。
57.根据权利要求56所述的设备,其特征在于,所述用于指示在包围点云的三维空间体的位置的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的在x轴方向的偏移坐标、用于指示在包围点云的立方体的在y轴方向的偏移坐标、用于指示在包围点云的立方体的在z轴方向的偏移坐标;
和/或,
所述用于指示在包围点云的三维空间体的尺寸的语法元素包括以下至少一个语法元素:用于指示在包围点云的立方体的宽度、用于指示在包围点云的立方体的深度、用于指示在包围点云的立方体的高度。
58.根据权利要求57所述的设备,其特征在于,所述至少一个语法元素被拆分成2个子语法元素。
59.根据权利要求48-54任一项所述的设备,其特征在于,
所述语法元素包括序列头信息和/或属性头信息中的语法元素。
60.根据权利要求48所述的设备,其特征在于,所述码流数据中包括:
保留字、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在x轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在y轴方向的偏移坐标的低位、用于指示包围点云的立方体在z轴方向的偏移坐标的高位、指定标志位、用于指示包围点云的立方体在z轴方向的偏移坐标的低位、指定标志位、用于指示包围点云的立方体的宽度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的高度的高位、指定标志位、用于指示包围点云的立方体的宽度的低位、指定标志位、用于指示包围点云的立方体的深度的高位、指定标志位、用于指示包围点云的立方体的深度的低位、指定标志位、用于指示三维空间的立方体中点云的数量的高位、指定标志位、用于指示三维空间的立方体中点云的数量的低位。
61.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至30任一项所述方法。
CN201980094966.7A 2019-11-29 2019-11-29 一种数据编码、数据解码方法、设备及存储介质 Active CN113678460B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/122209 WO2021103013A1 (zh) 2019-11-29 2019-11-29 一种数据编码、数据解码方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113678460A CN113678460A (zh) 2021-11-19
CN113678460B true CN113678460B (zh) 2023-07-25

Family

ID=76129893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980094966.7A Active CN113678460B (zh) 2019-11-29 2019-11-29 一种数据编码、数据解码方法、设备及存储介质

Country Status (2)

Country Link
CN (1) CN113678460B (zh)
WO (1) WO2021103013A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023172703A1 (en) * 2022-03-09 2023-09-14 Innopeak Technology, Inc. Geometry point cloud coding
CN116781676A (zh) * 2022-03-11 2023-09-19 腾讯科技(深圳)有限公司 一种点云媒体的数据处理方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767598B2 (en) * 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
WO2017140948A1 (en) * 2016-02-17 2017-08-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
CN108322742B (zh) * 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN109743581B (zh) * 2019-01-24 2021-08-27 上海国茂数字技术有限公司 编码端处理方法、解码端处理方法及防止伪起始码的方法

Also Published As

Publication number Publication date
WO2021103013A1 (zh) 2021-06-03
CN113678460A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN111699683B (zh) 一种点云编码方法、点云解码方法及相关设备
CN111699697B (zh) 一种用于点云处理、解码的方法、设备及存储介质
EP3514969B1 (en) Methods and devices using direct coding in point cloud compression
US9532056B2 (en) Method for adaptive entropy coding of tree structures
CN112449754B (zh) 一种数据编码、数据解码方法、设备及存储介质
CN112385238B (zh) 一种数据编码、数据解码方法、设备及存储介质
CN112470469B (zh) 一种用于点云编码、解码的方法和设备
CN106202213B (zh) 一种fpga二进制文件压缩、解压方法及压缩、解压装置
CN113678460B (zh) 一种数据编码、数据解码方法、设备及存储介质
CN112384950A (zh) 点云的编解码方法及装置
CN113632492A (zh) 一种用于点云处理、解码的方法、设备及存储介质
CN111699690A (zh) 点云的处理方法和装置
US20220005229A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie
CN112740702A (zh) 点云的编解码方法和装置
KR101883532B1 (ko) 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치
CN113906681B (zh) 点云数据的编解码方法、系统和存储介质
CN115379190B (zh) 一种点云处理方法、装置及计算机设备、存储介质
CN116208171A (zh) 数据压缩和解压缩方法、装置、电子设备及存储介质
EP4307663A1 (en) Decoding method/encoding method based on point cloud attribute prediction, decoder, and encoder
CN115086658B (zh) 点云数据的处理方法、装置、存储介质及编解码设备
CN111684804B (zh) 一种数据编码、数据解码方法、设备及存储介质
CN115917604A (zh) 点云解码装置、点云解码方法及程序
WO2021108970A1 (zh) 点云处理方法、编码器、解码器及存储介质
WO2020248144A1 (zh) 三维数据点的编解码方法和装置
CN115474041B (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