CN116648915A - 点云编解码方法、编码器、解码器以及计算机存储介质 - Google Patents

点云编解码方法、编码器、解码器以及计算机存储介质 Download PDF

Info

Publication number
CN116648915A
CN116648915A CN202080108117.5A CN202080108117A CN116648915A CN 116648915 A CN116648915 A CN 116648915A CN 202080108117 A CN202080108117 A CN 202080108117A CN 116648915 A CN116648915 A CN 116648915A
Authority
CN
China
Prior art keywords
value
sampling period
maximum allowable
determining
point cloud
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
CN202080108117.5A
Other languages
English (en)
Inventor
万帅
魏磊
杨付正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202311054264.0A priority Critical patent/CN116980624A/zh
Publication of CN116648915A publication Critical patent/CN116648915A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/17Methods 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 being an image region, e.g. an object
    • H04N19/174Methods 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 being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请实施例公开了一种点云编解码方法、编码器、解码器以及计算机存储介质,该方法包括:获取输入点云的几何信息和属性信息;确定所述输入点云进行细节层次划分时采样周期的最大容许取值;基于所述采样周期的最大容许取值,确定所述采样周期的预设值;根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。

Description

点云编解码方法、编码器、解码器以及计算机存储介质 技术领域
本申请实施例涉及编解码技术领域,尤其涉及一种点云编解码方法、编码器、解码器以及计算机存储介质。
背景技术
在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编码器框架中,点云的几何信息和属性信息是分别进行编码的。针对属性信息部分的编码,首先进行颜色空间转换,然后对于在点云进行体素化后的点重新着色,赋予其属性信息。
然而,目前的相关技术中,在点云属性的细节层次(Level of Detail,LOD)划分过程中,是利用固定采样周期的方法生成LOD。虽然该方法的复杂度较低,能够很好地捕捉初始点的分布;但是并没有考虑系统的一致性,从而影响了编解码效率。
发明内容
本申请实施例提供一种点云编解码方法、编码器、解码器以及计算机存储介质,可以增强系统的一致性,同时还能够提升编解码效率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种点云编码方法,应用于编码器,该方法包括:
获取输入点云的几何信息和属性信息;
确定所述输入点云进行细节层次划分时采样周期的最大容许取值;
基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
第二方面,本申请实施例提供了一种点云解码方法,应用于解码器,该方法包括:
解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
确定所述采样周期的最大容许取值;
在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一获取单元、第一确定单元、第一采样单元和编码单元;其中,
所述第一获取单元,配置为获取输入点云的几何信息和属性信息;
所述第一确定单元,配置为确定所述输入点云进行细节层次划分时采样周期的最大容许取值;以及基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
所述第一采样单元,配置为根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
所述编码单元,配置为利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
第四方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种解码器,该解码器包括解码单元、第二确定单元和第二采样单元;其中,
所述解码单元,配置为解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
所述第二确定单元,配置为确定所述采样周期的最大容许取值;
所述第二采样单元,配置为在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
所述解码单元,还配置为利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
第六方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种点云编解码方法、编码器、解码器以及计算机存储介质,在编码器侧,通过获取输入点云的几何信息和属性信息;确定所述输入点云进行细节层次划分时采样周期的最大容许取值;基于所述采样周期的最大容许取值,确定所述采样周期的预设值;根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。在解码器侧,通过解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;确定所述采样周期的最大容许取值;在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。这样,由于在编码器和解码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升编解码效率。
附图说明
图1A为相关技术提供的一种G-PCC编码器的框架组成示意图;
图1B为相关技术提供的一种G-PCC解码器的框架组成示意图;
图2为相关技术提供的一种基于采样的LOD划分过程的结构示意图;
图3为本申请实施例提供的一种点云编码方法的流程示意图;
图4为本申请实施例提供的一种点云解码方法的流程示意图;
图5为本申请实施例提供的一种编码器的组成结构示意图;
图6为本申请实施例提供的一种编码器的具体硬件结构示意图;
图7为本申请实施例提供的一种解码器的组成结构示意图;
图8为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序, 以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:点云压缩(Point Cloud Compression,PCC),基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC),基于视频的点云压缩(Video Point Cloud Compression,V-PCC),细节层次(Level of Detail,LOD),区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT),片(slice),包围盒(bounding box),八叉树(octree),三角面片集(triangle soup,trisoup),块(block),交点(vertex),根节点(RootNode),动态图像专家组(Moving Picture Experts Group,MPEG),国际标准化组织(International Standardization Organization,ISO),国际电工委员会(International Electrotechnical Commission,IEC),音视频编码标准(Audio Video Standard,AVS)。
这里,点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。
点云(Point Cloud)是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YcbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
点云可以按获取的途径分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
例如,按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。
截止目前,可对点云进行压缩的点云编码框架可以是MPEG提供的G-PCC编解码框架或V-PCC编解码框架,也可以是AVS提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。
可以理解,在点云G-PCC编码器框架中,将输入点云进行slice划分后,然后对slice进行独立编码。
如图1A所示的G-PCC编码器的框架中,将输入点云进行slice划分后,对slice进行独立编码。在slice中,点云的几何信息和属性信息是分别进行编码的。G-PCC编码器首先对几何信息进行编码。编码器对几何信息进行坐标转换,使点云全都包含在一个bounding box中;然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接下来,对bounding box进行基于八叉树的划分。根据八叉树划分层级深度的不同,几何信息的编码又分为基于八叉树和三角面片集的两种框架。
在基于八叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,并记录子立方体的占位比特(其中,1为非空,0为空),对非空的子立方体继续进行八等分,通常划分得到的叶子节点为1×1×1的单位立方体时停止划分。在这个过程中,利用节点(node)与周围节点的空间相关性,对占位比特进行帧内预测,最后进行算术编码,比如是基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC),生成二进制的几何比特流,即几何码流。
在基于三角面片集的几何信息编码框架中,同样也要先进行八叉树划分,但区别在于基于八叉树的几何信息编码,该方法不需要将点云逐级划分到边长为1×1×1的单位立方体,而是划分到block的边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产 生的至多十二个vertex。最后依次编码每个block的vertex坐标,生成二进制的几何比特流,即几何码流。
G-PCC编码器在完成几何信息编码后,对几何信息进行重建,并使用重建的几何信息对点云的属性信息进行编码。目前,点云的属性编码主要是对点云中点的颜色信息进行编码。首先,编码器可以对点的颜色信息进行颜色转换,例如,当输入点云中点的颜色信息使用RGB颜色空间表示时,编码器可以将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一种方法是依赖于LOD划分的基于距离的提升变换,另一种方法是直接进行RAHT变换,这两种方法都会将颜色信息从空间域变换到频域,得到高频系数和低频系数,最后对系数进行量化和算术编码,生成二进制的属性比特流,即属性码流。
如图1B所示的G-PCC解码器的框架中,获取二进制码流后,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-反坐标变换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的反提升或者基于RAHT的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
需要说明的是,属性信息的编码分为三种模式:预测模式、提升模式和RAHT模式。对于预测模式和提升模式,需要对点云进行LOD划分。LOD就是根据某种方式将点云划分为一系列的增强层和细节层。如图2所示,其示出了相关技术提供的一种基于采样的LOD划分过程的结构示意图。在图2中,其使用固定采样周期的方法生成LOD。使用固定采样周期的方法具体如下,首先将点云进行排序,其次根据用户设置的采样周期进行采样,得到增强层(refinement layer)和细节层(level of detail)。接着对细节层再次进行采样,以得到新的增强层和新的细节层;候选依次对新的细节层继续采样,直至细节层中仅为1个点或者达到用户设置的LOD划分层数时停止划分。具体来讲,结合图2进行以下说明:
对于点云数据201(LOD 1),按照采样周期为2进行采样,得到增强层202和细节层203(即LOD 2);然后对细节层203继续按照采样周期为2进行采样,得到新的增强层304和新的细节层305(即LOD 3);后续直至细节层中仅为1个点或者达到用户设置的LOD划分层数时停止划分。
在进行LOD划分后,利用这些细节层进行预测或者提升变换。在预测编码过程中,利用已编码的细节层中的点和当前增强层中已编码的点对当前点进行预测;而在提升变换的过程中,使用细节层中的点对增强层中的点进行预测,然后利用预测残差对细节层中的点进行更新。
然而,目前的相关技术中,在基于固定采样周期的LOD生成方法中,采样周期用于对点云进行采样获得细节层,而剩余的点则作为增强层。通过对细节层的一系列采样,从而能够获得一系列的增强层和最终的细节层。虽然该方法的复杂度较低,能够很好的捕捉初始点的分布,而且对不规则采样点云上的非光滑属性信息进行更为有效的预测。但是目前关于LOD的采样周期的最大值没有规定,也就没有明确规定语法元素sampling_period_minus2的取值范围,从而无法在编码器/解码器中对用户设置的基于采样的LOD生成方式中的采样周期进行一致性检查,使得系统的一致性以及编码效率有一定的影响,导致由于该语法元素的范围的不确定性而造成编解码效率的降低。
本申请一实施例提供一种点云编码方法,在编码器侧,该方法的基本思想是:获取输入点云的几何信息和属性信息;确定所述输入点云进行细节层次划分时采样周期的最大容许取值;基于所述采样周期的最大容许取值,确定所述采样周期的预设值;根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。这样,由于在编码器和解码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升编解码效率。
下面将结合附图对本申请各实施例进行详细阐述。
本申请的一实施例中,本申请实施例提供的点云编码方法应用于视频编码设备,即G-PCC编码器,也可简称为编码器。该方法所实现的功能可以通过编码器中的第一处理器调用计算机程序来实现,当然计算机程序可以保存在第一存储器中,可见,编码器至少包括第一处理器和第一存储器。
参见图3,其示出了本申请实施例提供的一种点云编码方法的流程示意图。如图3所示,该方法可以包括:
S301:获取输入点云的几何信息和属性信息。
需要说明的是,在点云中,点可以是点云中的所有点,也可以是点云中的部分点,这些点在空间上 相对集中。
还需要说明的是,基于图1A所示的G-PCC编码器的框架,本申请实施例的方法主要应用于“生成LOD”部分,针对目前的相关技术中关于LOD的采样周期问题,能够根据点云的内容可以自适应的计算采样周期的最大值,用以保证系统的一致性。
这里,输入点云可以理解为是需要进行分层的点云数据,比如,用于形成三维视频的点云数据等。对于输入点云,其可以包括几何信息和属性信息。在对点云进行编码时,点云的几何信息和属性信息是分开编码的。其中,几何信息包括:点云法向量、曲率、点云密度、点云表面粗糙度、点云重心、点云权重重心、点云协方差和点云互协方差等。属性信息包括:输入点云的划分距离的平方、划分总层数、颜色空间的信息、空间分辨率、点位精度和表面法向量等。在几何信息编码之后,针对属性信息的编码,这时候涉及到LOD分层,这里分层的方式可以是根据莫顿码实现,还可以是根据采样周期来实现。本申请实施例利用采样周期的方式来实现LOD分层。
S302:确定所述输入点云进行细节层次划分时采样周期的最大容许取值。
S303:基于所述采样周期的最大容许取值,确定所述采样周期的预设值。
需要说明的是,在利用采样周期的方式来实现LOD分层的过程中,不仅需要确定采样周期的预设值,还需要确定采样周期的最大容许取值,用以保证采样周期的预设值不会超过采样周期的最大容许取值,从而能够增强系统的一致性。
还需要说明的是,对于采样周期的最大容许取值来说,它主要是和输入点云的相关内容有关,比如输入点云中包含的总点数、slice中包含的点数和slice可包含的最大容许点数等。
在一些实施例中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,可以包括:
确定所述输入点云中包含的总点数;
根据所述输入点云中包含的总点数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述根据所述输入点云中包含的总点数,确定所述采样周期的最大容许取值,可以包括:
将所述采样周期的最大容许取值设置为等于所述输入点云中包含的总点数。
也就是说,在一种可能的实施方式中,本申请实施例可以确定输入点云中包含的总点数,然后将输入点云中包含的总点数确定为采样周期的最大容许取值。这时候,采样周期的预设值将小于或等于输入点云中包含的总点数。
还需要说明的是,符合性(Conformance)参数用于表征该点云码流的自身属性,至少包括以下参数之一:档次(Profile)、等级(Tier)或级别(Level),也可以用于确定采样周期的最大容许取值。具体地,在一些实施例中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,可以包括:
确定所述输入点云的符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;
根据所述符合性参数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述根据所述符合性参数,确定所述采样周期的最大容许取值,可以包括:将所述采样周期的最大容许取值设置为等于所述符合性参数对应的预设值。
也就是说,在另一种可能的实施方式中,本申请实施例可以确定输入点云的符合性参数,然后根据输入点云的符合性参数来确定采样周期的最大容许取值。这里,在本申请实施例中,采样周期的最大容许取值可以设置为等于符合性参数对应的预设值。
在一些实施例中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,可以包括:
将所述采样周期的最大容许取值设置为预设的常数值。
也就是说,在又一种可能的实施方式中,本申请实施例可以将采样周期的最大容许取值设置为预设的常数值。这里,预设的常数值为大于零的整数值。
在一些实施例中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,可以包括:
确定所述输入点云中包含的总点数;
若所述输入点云中包含的总点数大于slice可包含的最大容许点数,则对所述输入点云进行划分,得到至少一个slice,并确定所述至少一个slice中包含的点数;
确定所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值,可以包括:
从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
也就是说,在又一种可能的实施方式中,本申请实施例在确定出输入点云中包含的总点数之后,还 可以将输入点云中包含的总点数与slice可包含的最大容许点数进行比较;如果输入点云中包含的总点数大于slice可包含的最大容许点数,这时候需要对输入点云进行slice划分,以得到至少一个slice;然后再确定出这至少一个slice中包含的点数(可以用N i表示);那么对于整个输入点云而言,其对应的采样周期的最大容许取值可以为max(N i),即将这至少一个slice中包含的点数中的最大值确定为采样周期的最大容许取值。需要注意的是,如果输入点云的点数小于或等于slice的最大容许点数,这时候不需要对输入点云进行slice划分,这一输入点云可以看作是一个slice,即可以将输入点云中包含的总点数确定为采样周期的最大容许取值,或者将该slice中包含的点数确定为采样周期的最大容许取值。
进一步地,在一些实施例中,该方法还可以包括:将所述采样周期的最大容许取值设置为等于所述slice可包含的最大容许点数。
也就是说,在又一种可能的实施方式中,针对输入点云的一个或多个slice,可以利用slice可包含的最大容许点数替代各个slice中包含的点数,这时候可以将slice可包含的最大容许点数确定为采样周期的最大容许取值。
可以理解,在得到至少一个slice中包含的点数之后,为了便于解码器通过解析码流即可获得这至少一个slice中包含的点数,本申请实施例还可以通过第一语法元素将这至少一个slice中包含的点数写入码流中。因此,在一些实施例中,该方法还可以包括:
根据所述至少一个slice中包含的点数,确定所述至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
将所述第一语法元素的取值写入所述码流。
需要说明的是,第一语法元素可以用geom_num_points_minus1表示,且第一语法元素用于指示slice的点数。如此,根据这至少一个slice中包含的点数,能够确定出这至少一个slice对应的第一语法元素的取值。具体地,在一些实施例中,所述根据所述至少一个slice中包含的点数,确定所述至少一个slice对应的第一语法元素的取值,可以包括:
将所述第一语法元素的取值设置为等于所述至少一个slice中包含的点数与第一常数值之和,其中,所述第一常数值是预设的整数值。
在一种具体的实施例中,所述第一常数值等于-1。
示例性地,对于第一语法元素而言,可以通过对至少一个slice中包含的点数进行减1操作,从而得到这至少一个slice对应的第一语法元素的取值。
也就是说,在得到这至少一个slice中包含的点数之后,可以对这至少一个slice中包含的点数进行减1操作,从而得到这至少一个slice对应的第一语法元素的取值。换言之,在解码器中,当获取到第一语法元素的取值之后,通过对其执行加1操作即可以得到这至少一个slice中包含的点数。
还需要说明的是,在将第一语法元素的取值写入码流时,还需要首先将其写入对应slice的几何数据单元(geometry data unit)中,然后通过几何数据单元将其写入码流,以传输到解码器。具体地,在一些实施例中,所述将所述第一语法元素的取值写入所述码流,可以包括:
将所述第一语法元素的取值写入所述至少一个slice的几何数据单元中;
将所述至少一个slice的几何数据单元写入所述码流。
在本申请实施例中,每一slice的第一语法元素的取值对应写入该slice的几何数据单元中,然后通过几何数据单元将其写入码流。后续解码器在解析码流后,通过将第一语法元素的取值进行加1操作即可得到这至少一个slice的点数。
还需要说明的是,在一个slice中,可以包括一个或多个几何数据单元(geometry data unit)和若干个属性数据单元(attribute data unit)。属性数据单元依赖于同一slice中相应的几何数据单元。在slice中,几何数据单元必须出现在任何相对应的属性数据单元之前,slice中的数据单元必须是连续的。
更具体地,对于第一语法元素(geom_num_points_minus1)来说,geom_num_points_minus1写在geometry data unit footer中,而geometry data unit footer位于geometry data unit中。
还需要说明的是,采样周期的预设值是用户预先设置的,用于根据该采样周期的预设值对输入点云进行处理(比如采样处理),以生成LOD。在一些实施例中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,可以包括:
获取所述采样周期的候选输入值;
若所述采样周期的候选输入值小于或等于所述采样周期的最大容许取值,则将所述采样周期的候选输入值确定为所述采样周期的预设值。
这里,在编码器中,用户会根据实际情况输入采样周期的候选输入值。当采样周期的候选输入值小于或等于采样周期的最大容许取值时,可以将采样周期的候选输入值确定为采样周期的预设值。另外,当采样周期的候选输入值大于采样周期的最大容许取值时,这时候该采样周期的候选输入值为非法值, 此时利用该采样周期的候选输入值对输入点云进行处理以生成LOD,将不利于系统的一致性。
这样,在一些实施例中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,可以包括:将所述采样周期的预设值设置为小于或等于所述采样周期的最大容许取值。
也就是说,本申请实施例中,采样周期的预设值小于或等于采样周期的最大容许取值,以增强系统的一致性。
可以理解,对于采样周期来说,可以利用第二语法元素(sampling_period_minus2)表示。如此,对于第二语法元素而言,本申请实施例中也会涉及到第二语法元素的最大容许取值和第二语法元素的预设值。
在一些实施例中,该方法还可以包括:
基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值;其中,所述第二语法元素用于指示在对所述输入点云进行细节层次划分时的采样周期。
需要说明的是,可以根据采样周期的最大容许取值来确定第二语法元素的最大容许取值。在一种具体的实施例中,所述基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值,可以包括:
将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
在一种具体的实施例中,所述第二常数值等于-2。
示例性地,对于第二语法元素而言,可以通过对所述采样周期的最大容许取值进行减2操作,从而得到第二语法元素的最大容许取值。
在另一种具体的实施例中,所述基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值,可以包括:
将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
简言之,针对第二语法元素的最大容许取值,可以通过对采样周期的最大容许取值进行减2得到,也可以通过将采样周期的最大容许取值直接确定为第二语法元素的最大容许取值。
进一步地,在一些实施例中,所述将所述采样周期的预设值写入所述码流,可以包括:
基于所述采样周期的预设值,确定第二语法元素的取值;
将所述第二语法元素的取值写入所述码流。
需要说明的是,在得到采样周期的预设值之后,可以根据采样周期的预设值确定出第二语法元素的取值,然后将第二语法元素的取值写入码流。
还需要说明的是,第二语法元素的取值可以放置在属性参数集(A Parameter Set,APS)中,然后通过属性参数集将其写入码流。在一些实施例中,所述将所述采样周期的预设值写入所述码流,可以包括:
基于所述采样周期的预设值,确定第二语法元素的取值;
将所述第二语法元素的取值写入属性参数集,将所述属性参数集写入所述码流。
也就是说,在根据采样周期的预设值确定出第二语法元素的取值后,可以将第二语法元素的取值写入属性参数集,然后将属性参数集写入码流。后续解码器在解析码流后,获取属性参数集,然后从属性参数集中获得第一语法元素的取值,进而能够得到采样周期的预设值。
在一些实施例中,第二语法元素的取值小于或等于第二语法元素的最大容许取值。
在一些实施例中,所述基于所述采样周期的预设值,确定第二语法元素的取值,可以包括:
将所述第二语法元素的取值设置为等于所述采样周期的预设值与第三常数值之和,其中,所述第三常数值是预设的整数值。
在一种具体的实施例中,所述第三常数值等于-2。
示例性地,对于第二语法元素而言,可以通过对所述采样周期的设置值进行减2处理,从而得到所述第二语法元素的取值。例如,若采样周期的预设值为4,则确定第二语法元素的取值等于2。
除此之外,在一些实施例中,所述将所述第二语法元素的取值写入所述码流,可以包括:
根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数;
将所述第二语法元素的取值转换为所述第一比特数的二进制比特串,并将所述第一比特数的二进制比特串写入所述码流。
在本申请实施例中,第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
也就是说,在确定出采样周期的最大容许取值之后,首先确定第二语法元素在码流中对应的第一比特数M。在一种可能的实施方式中,M可以为大于采样周期的最大容许取值的以2为底对数值的最小整数值。如此,可以将第二语法元素的取值转换为M个二进制比特串,并将M个二进制比特串写入所 述码流。
示例性地,假定采样周期的最大容许取值为N(这里的“N”表示输入点云的点数),那么sampling_period_minus2的最大容许取值可以为N-2。在本申请实施例中,采样周期的最小值为2,则2≤T≤N,T表示采样周期。这时候对于sampling_period_minus2而言,sampling_period_minus2的取值可以位于[0,N-2]的区间内。进一步地,将sampling_period_minus2的取值转换为M个二进制比特串,然后将M个二进制比特串写入码流。
另外,输入点云可以为一个或多个slice,而slice规定的最大容许点数用Max points in a slice表示。那么可以使用G-PCC中Max points in a slice替代各个slice中的点数,从而能够固定语法元素sampling_period_minus2的取值范围。例如,假定在G-PCC中Max points in a slice为1100000,那么可以将sampling_period_minus2的取值范围规定为[0,Max points in a slice-2],或者由于语法元素的取值均为大于或等于零的值,那么该取值范围还可简单写为Max points in a slice。如此,本申请实施例可以根据点云内容自适应的确定出其最大的采样周期,能够明确规定语法元素sampling_period_minus2的取值范围,在编码器中可以对用户设置的采样周期进行检查,从而增强了系统的一致性,同时可能提升编解码性能。
S304:根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层。
需要说明的是,一种可能的实施方式中,基于莫顿码实现对输入点云进行LOD划分的过程如下:
首先,假设变量(p i) i=1,…,N保存原始的输入点云,变量(M i) i=1,…,N为与每个点相关的莫顿值。并且设置D0和ρ分别为两个用户设置的初始参数,用于作为划分LOD时的距离阈值参数,其中,ρ>1。其中计算莫顿码的具体方法描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标,其三个分量可以表示如式(1)所示:
其中,x l,y l,z l∈{0,1}分别是x,y,z的最高位(l=1)到最低位(l=d)对应的二进制数值。莫顿码M是对x,y,z从最高位开始,依次交叉排列x l,y l,z l到最低位,M的计算公式如下式(2)所示:
其中,m l′∈{0,1}分别是M的最高位(l′=1)到最低位(l′=3d)的值。在得到输入点云中每个点的莫顿码M后,将输入点云中的点按莫顿码由小到大的顺序进行排列。
在另一种可能的实施方式中,本申请实施例可以基于采样周期实现对输入点云进行LOD划分。具体地,在确定出采样周期的预设值之后,可以根据采样周期的预设值和几何信息对输入点云进行处理(具体可以是:采样处理),以实现LOD分层,从而得到至少一个增强层和至少一个细节层。
在一些实施例中,所述根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层,可以包括:
基于所述几何信息,利用所述采样周期的预设值对所述输入点云进行处理,得到第一增强层和第一细节层。
也就是说,利用采样周期的预设值对输入点云进行处理,可以得到第i=1层的第一增强层和第一细节层。
对于除i=1之外的其他层,需要逐层对所得到的细节层进行处理。例如,第i层,此时的细节层可称为目标细节层,利用采样周期的预设值对目标细节层进行处理,得到第i+1层(即下一增强层和下一细节层),直至下一细节层的点数等于1或者达到预设划分层次时停止处理。
在一种可能的实施方式中,可以将细节层的点数仅为1时作为LOD停止划分的条件。这时候,该方法还可以包括:
利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层;
当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
示例性地,对于除i=1外的其他层,以通过第i层得到第i+1层进行说明:
利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层,i为大于零的整数;
当第i+1细节层的点数大于1时,将i+1赋值给i,继续执行所述利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层的步骤,直至所述第i+1细节层的点数等于1,以得到所述至少一个增强层和所述至少一个细节层。
在另一种可能的实施方式中,可以将LOD分层达到预设划分层数作为LOD停止划分的条件。这时候,该方法还可以包括:
利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;
当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
示例性地,对于除i=1外的其他层,以通过第i层得到第i+1层进行说明:
利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层,以及确定当前划分层数为i,i为大于零的整数;
当i小于预设划分层数时,将i+1赋值给i,继续执行所述利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层的步骤,直至i等于预设划分层数,以得到所述至少一个增强层和所述至少一个细节层。
在本申请实施例中,对于输入点云,需要是经过排序后得到的输入点云。也就是说,首先需要对输入点云进行排序;然后根据采样周期的预设值进行采样,得到第一增强层和第一细节层;紧接着对第i细节层再次进行采样,得到第i+1增强层和第i+1细节层,i为大于零的整数;直至第i+1细节层的点数等于1或者达到用户设置的预设划分层数时则停止划分。
在一些实施例中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,可以包括:
基于所述采样周期的最大容许取值,确定所述目标细节层对应的所述采样周期的目标预设值。
相应地,所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,可以包括:
利用所述采样周期的目标预设值对所述目标细节层进行处理,得到下一增强层和下一细节层。
在本申请实施例中,所述采样周期的目标预设值小于或等于所述采样周期的最大容许取值。
还需要说明的是,在上述过程中,这至少一个细节层对应的采样周期可以是固定采样周期,也可以是可变采样周期。这里,第i细节层对应的采样周期的预设值可以用采样周期的第i预设值表示。在一些实施例中,该方法还可以包括:将第i细节层对应的所述采样周期的预设值设置为所述采样周期的第i预设值,且所述采样周期的第i预设值小于或等于所述采样周期的最大容许取值。
进一步地,在一些实施例中,该方法还可以包括:
若所述采样周期的第i预设值与所述采样周期的第i+1预设值不同,则确定所述至少一个细节层中不同细节层对应不同的所述采样周期的预设值;
若所述采样周期的第i预设值与所述采样周期的第i+1预设值相同,则确定所述至少一个细节层中不同细节层对应相同的所述采样周期的预设值。
也就是说,针对这至少一个细节层,每一层对应的采样周期的预设值均小于或等于采样周期的最大容许取值。另外,这至少一个细节层中不同细节层对应不同的采样周期的预设值,也可以对应相同的采样周期的预设值。通常情况下,当这至少一个细节层中不同细节层对应不同的采样周期的预设值时,第i细节层对应的采样周期的预设值大于第i+1细节层对应的采样周期的预设值,但是这里不作具体限定。
换言之,第idx细节层对应的第二语法元素的取值可以用sampling_period_minus2[idx]表示,那么细节级别idx(或称为第idx细节层)对应的采样周期的预设值通过sampling_period_minus2[idx]加2得到。其中,sampling_period_minus2[idx]小于或等于第二语法元素的最大容许取值。
S305:利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
需要说明的是,在完成LOD划分后,可以利用这至少一个增强层和至少一个细节层对属性信息进行编码,具体可以为:利用已编码的细节层中的点和当前增强层中已编码的点对当前点进行预测,得到预测数据;然后利用当前点的原始数据和预测数据进行差值计算,可以得到预测残差,并将预测残差写入码流,以供后续解码器进行点云重构时使用。
简言之,在本申请实施例中,利用采样周期的方式对输入点云进行采样以实现LOD划分,该方法的复杂度低,而且能够很好地捕捉初始点的分布,并且对不规则采样点云上的非光滑属性信息进行更为有效的预测。另外,针对语法元素sampling_period_minus2的最大容许取值没有定义的问题,本申请实施例还预先定义其最大值为MAX。在基于采样周期的LOD生成方式中,首先对输入点云进行排序, 然后根据用户所设置的采样周期对排序后的输入点云进行采样,那么其采样周期最大的情况下应该不大于当前点云的点数,而且最小值为2;这时候可以表示为:2≤T≤N,其中T为采样周期,N为输入点云的点数。从而sampling_period_minus2的区间可定义为0到N-2。需要注意的是,由于语法元素在编码器通常都是从零开始,故采样周期会进行减2处理。
还需要说明的是,语法元素sampling_period_minus2位于属性参数集中,而且它是图片级的。由于属性参数集具有较高的优先级,因此每一个slice都将引用这个语法元素(sampling_period_minus2)。
对于sampling_period_minus2而言,该语法元素的描述符为ue(v)。在通用测试条件(Common Test Conditions,CTC)中,sampling_period_minus2的取值一般设置为2,这就意味着用户设置的采样周期(即采样周期的预设值)等于4。在另一种可能的实施方式中,该语法元素的描述符也可以使用u(v),这主要取决于geom_num_points_minus1,且geom_num_points_minus1的描述符为u(24)。
还需要说明的是,MAX并不会写入码流,它主要是利用输入点云的相关内容(比如输入点云的点数、slice的点数和slice的最大容许点数等)得到,而且仅用于系统的一致性检查。编码器只是将采样周期的预设值(即sampling_period_minus2的取值)写入码流中。
另外,在G-PCC中,当输入点云的点数大于变量Max_points_in_a_slice时,可以将输入点云分割为若干个slice。这时候如果MAX直接使用输入点云的点数,它将是一个非常大的值,也就意味着并没有起到限制的作用。这样,在输入点云进行slice划分后,对应的采样周期的最大值(即最大容许取值)即为每个slice中的点数(N i)。那么对于整个输入点云而言,其对应的采样周期的最大值为max{N i}。
针对每一个slice,在slice对应几何信息的头信息(Geometry Slice Header,GSH)中,其包括了一语法元素来表示当前slice的点数,这一语法元素为geom_num_points_minus1。具体来说,geom_num_points_minus1写在geometry data unit footer中,而geometry data unit footer位于geometry data unit中。无论属性参数集在GSH之前还是之后,slice的点数都不能用来表示sampling_period_minus2的取值,因为slice的点数只是用于限制sampling_period_minus2的最大容许取值。
在草案文本中,定义了“sampling_period_minus2[idx]加2可以表示细节级别idx的采样周期的取值,而且采样周期的取值为0~xx的区间内”。在本申请实施例中,针对采样周期的取值,可以简写为“小于或等于MAX”。如此,本申请实施例可以根据点云内容自适应的确定出其最大的采样周期,从而能够明确规定语法元素sampling_period_minus2的取值范围。
本实施例提供了一种点云编码方法,通过获取输入点云的几何信息和属性信息;确定所述输入点云进行细节层次划分时采样周期的最大容许取值;基于所述采样周期的最大容许取值,确定所述采样周期的预设值;根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。这样,由于在编码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升编码效率,以提升编码性能。
本申请的另一实施例中,本申请实施例提供的点云解码方法应用于视频解码设备,即G-PCC解码器,也可简称为解码器。该方法所实现的功能可以通过解码器中的第二处理器调用计算机程序来实现,当然计算机程序可以保存在第二存储器中,可见,解码器至少包括第二处理器和第二存储器。
参见图4,其示出了本申请实施例提供的一种点云解码方法的流程示意图。如图4所示,该方法可以包括:
S401:解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值。
需要说明的是,在点云中,点可以是点云中的所有点,也可以是点云中的部分点,这些点在空间上相对集中。
还需要说明的是,基于图1B所示的G-PCC解码器的框架,本申请实施例的方法主要应用于“生成LOD”部分,针对目前的相关技术中关于LOD的采样周期问题,能够根据点云的内容可以自适应的计算采样周期的最大值,用以保证系统的一致性。
这里,通过解析码流,可以得到解码点云,该解码点云可以理解为是需要进行分层的点云数据,比如,用于形成三维视频的点云数据等。对于解码点云,其可以包括几何信息和属性信息。其中,几何信息包括:点云法向量、曲率、点云密度、点云表面粗糙度、点云重心、点云权重重心、点云协方差和点云互协方差等。属性信息包括:输入点云的划分距离的平方、划分总层数、颜色空间的信息、空间分辨率、点位精度和表面法向量等。在几何信息解码之后,针对属性信息的解码,这时候涉及到LOD分层,这里分层的方式可以是根据莫顿码实现,还可以是根据采样周期来实现。本申请实施例利用采样周期的 方式来实现LOD分层。
可以理解,对于采样周期而言,可以利用第二语法元素(sampling_period_minus2)表示。如此,在一些实施例中,所述解析码流,获取所述采样周期的解析值,可以包括:
解析所述码流,确定第二语法元素的取值;其中,所述第二语法元素用于指示在对所述解码点云进行细节层次划分时的采样周期;
根据所述第二语法元素的取值,确定所述采样周期的解析值。
需要说明的是,由于编码器将第二语法元素的取值写入码流,因此在解码器中,通过解析码流,可以获取到第二语法元素的取值;然后根据第二语法元素的取值,就可以确定出采样周期的解析值。
还需要说明的是,由于编码器将第二语法元素的取值写入属性参数集,然后将属性参数集写入码流。因此,在一些实施例中,所述解析所述码流,确定第二语法元素的取值,可以包括:
解析所述码流,获取属性参数集;
从所述属性参数集中,确定所述第二语法元素的取值。
也就是说,解码器通过解析码流,可以获取到属性参数集;然后从属性参数集中就可以获取到第二语法元素的取值;然后根据第二语法元素的取值,就可以确定出采样周期的解析值。
也就是说,通过解析码流,获取到第二语法元素的取值之后,就可以确定出采样周期的解析值,后续可以根据采样周期的解析值对解码点云进行处理(比如采样处理)以实现LOD分层。
S402:确定所述采样周期的最大容许取值。
需要说明的是,在利用采样周期的方式来实现LOD分层的过程中,不仅需要确定采样周期的解析值,还需要确定采样周期的最大容许取值,用以保证采样周期的解析值不会超过采样周期的最大容许取值,从而能够增强系统的一致性。
还需要说明的是,对于采样周期的最大容许取值来说,它主要是和解码点云的相关内容有关,比如解码点云中包含的点数、slice中包含的点数和slice可包含的最大容许点数等。
在一些实施例中,所述确定所述采样周期的最大容许取值,可以包括:
获取slice可包含的最大容许点数;
将所述slice可包含的最大容许点数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述将所述slice可包含的最大容许点数,确定所述采样周期的最大容许取值,可以包括:
将所述采样周期的最大容许取值设置为等于所述slice可包含的最大容许点数。
也就是说,在一种可能的实施方式中,解码器中已经包括有slice可包含的最大容许点数;那么针对解码点云的一个或多个slice,可以利用slice可包含的最大容许点数替代各个slice中的点数,这时候可以将slice可包含的最大容许点数确定为采样周期的最大容许取值。
在一些实施例中,所述确定所述采样周期的最大容许取值,可以包括:
解析所述码流,确定至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
根据所述第一语法元素的取值,确定所述至少一个slice中包含的点数;
根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值,可以包括:
从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
需要说明的是,第一语法元素可以用geom_num_points_minus1表示,且第一语法元素用于指示slice中包含的点数。在另一种可能的实施方式中,由于编码器在得到至少一个slice中包含的点数之后,通过第一语法元素的取值将这至少一个slice中包含的点数写入码流中;如此,在解码器中,通过解析码流可以获取到第一语法元素的取值,进而可以确定出这至少一个slice中包含的点数(可以用N i表示);那么对于整个解码点云而言,其对应的采样周期的最大容许取值可以为max(N i),即将这至少一个slice的点数中的最大值确定为采样周期的最大容许取值。需要注意的是,如果解码点云的点数小于或等于slice的最大容许点数,这时候不需要对解码点云进行slice划分,这一解码点云可以看作是一个slice,即可以将该slice中包含的点数确定为采样周期的最大容许取值。
进一步地,在一些实施例中,所述解析码流,获取至少一个slice对应的第一语法元素的取值,可以包括:
解析所述码流,获取所述至少一个slice的几何数据单元;
从所述至少一个slice的几何数据单元中,确定所述至少一个slice对应的第一语法元素的取值。
还需要说明的是,在解码器中,通过解析码流,可以获取到至少一个slice的几何数据单元;然后 从这至少一个slice的几何数据单元中,获取到这至少一个slice对应的第一语法元素的取值,进而可以确定出这至少一个slice中包含的点数。
还需要说明的是,在一个slice中,可以包括一个或多个几何数据单元(geometry data unit)和若干个属性数据单元(attribute data unit)。属性数据单元依赖于同一slice中相应的几何数据单元。在slice中,几何数据单元必须出现在任何相对应的属性数据单元之前,slice中的数据单元必须是连续的。
更具体地,对于第一语法元素(geom_num_points_minus1)来说,geom_num_points_minus1写在geometry data unit footer中,而geometry data unit footer位于geometry data unit中。
进一步地,在一些实施例中,所述根据所述第一语法元素的取值,确定所述至少一个slice中包含的点数,可以包括:
将所述至少一个slice中包含的点数的取值设置为等于所述第一语法元素的取值与第一常数值之和,其中,所述第一常数值是预设的整数值。
在一种具体的实施例中,所述第一常数值等于1。
示例性地,对于第一语法元素而言,可以通过对所述第一语法元素的取值进行加1操作,从而得到所述至少一个slice中包含的点数。
也就是说,在解码器中,当获取到第一语法元素的取值之后,通过对其执行加1操作即可以得到这至少一个slice中包含的点数;然后从这些点数中选取最大值,将所选取的最大值确定为采样周期的最大容许取值。
在一些实施例中,所述确定所述采样周期的最大容许取值,可以包括:
解析所述码流,确定所述解码点云中包含的总点数;
根据所述解码点云中包含的总点数,确定所述采样周期的最大容许取值。
进一步地,所述解析所述码流,确定所述解码点云中包含的总点数,可以包括:
解析所述码流,确定至少一个slice对应的第一语法元素的取值;
根据至少一个slice对应的第一语法元素的取值,确定所述解码点云中包含的总点数。
也就是说,解析码流,得到至少一个slice对应的第一语法元素的取值后,可以确定出这至少一个slice中包含的点数。如果点云没有划分,即仅有一个slice的情况下,可以将解码得到的该slice中包含的点数确定为解码点云中包含的总点数;如果点云有划分,即存在有至少两个slice的情况下,可以将解码得到的这至少两个slice中包含的点数进行求和计算,将计算结果确定为解码点云中包含的总点数。
在一种具体的实施例中,所述根据所述解码点云中包含的总点数,确定所述采样周期的最大容许取值,可以包括:将所述解码点云中包含的总点数确定为所述采样周期的最大容许取值。
也就是说,在又一种可能的实施方式中,解码器中,通过解析码流,也可以确定出解码点云中包含的总点数,然后将解码点云中包含的总点数确定为采样周期的最大容许取值。这时候,采样周期的预设值将小于或等于解码点云中包含的总点数。
还需要说明的是,符合性(Conformance)参数用于表征该点云码流的自身属性,至少包括以下参数之一:档次(Profile)、等级(Tier)或级别(Level),也可以用于确定采样周期的最大容许取值。具体地,在一些实施例中,所述确定所述采样周期的最大容许取值,可以包括:
解析所述码流,确定符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;
根据所述符合性参数,确定所述采样周期的最大容许取值。
在一种具体的实施例中,所述根据所述符合性参数,确定所述采样周期的最大容许取值,可以包括:将所述采样周期的最大容许取值设置为等于所述符合性参数对应的预设值。
也就是说,在又一种可能的实施方式中,本申请实施例可以确定输入点云的符合性参数,然后根据输入点云的符合性参数来确定采样周期的最大容许取值。这里,在本申请实施例中,采样周期的最大容许取值可以设置为等于符合性参数对应的预设值。
在一些实施例中,所述确定所述采样周期的最大容许取值,可以包括:
将所述采样周期的最大容许取值设置为预设的常数值。
也就是说,在又一种可能的实施方式中,本申请实施例可以将采样周期的最大容许取值设置为预设的常数值。这里,预设的常数值为大于零的整数值。
在本申请实施例中,采样周期有最大容许取值和预设值之分,那么对于第二语法元素而言,本申请实施例中也会涉及到第二语法元素的最大容许取值和第二语法元素的预设值。
在一些实施例中,该方法还可以包括:
基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值。
需要说明的是,可以根据采样周期的最大容许取值来确定第二语法元素的最大容许取值。在一种具 体的实施例中,所述基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值,可以包括:
将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
在一种具体的实施例中,所述第二常数值等于-2。
示例性地,对于第二语法元素而言,可以通过对所述采样周期的最大容许取值进行减2操作,得到所述第二语法元素的最大容许取值。
在另一种具体的实施例中,所述基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值,可以包括:
将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
简言之,针对第二语法元素的最大容许取值,可以通过对采样周期的最大容许取值进行减2得到,也可以通过将采样周期的最大容许取值直接确定为第二语法元素的最大容许取值。
还需要说明的是,对于第二语法元素的取值来说,第二语法元素的取值小于或等于第二语法元素的最大容许取值。
在一些实施例中,所述根据所述第二语法元素的取值,确定所述采样周期的解析值,可以包括:
将所述采样周期的解析值设置为等于对所述第二语法元素的取值与第三常数值之和,其中,所述第三常数值是预设的整数值。
在一种具体的实施例中,所述第三常数值等于2。
示例性地,对于第二语法元素而言,可以通过对第二语法元素的取值进行加2处理,从而得到所述采样周期的预设值。例如,若第二语法元素的取值为2,则采样周期的预设值等于4。
除此之外,在一些实施例中,所述解析所述码流,确定第二语法元素的取值,可以包括:
根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数。
在本申请实施例中,第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
进一步地,该方法还可以包括:
从所述码流中读取数量等于所述第一比特数的二进制比特串;
将所述第二语法元素的取值设置为等于所述二进制比特串对应的无符号整型数。
也就是说,在确定出采样周期的最大容许取值之后,首先确定第二语法元素在码流中对应的第一比特数M。在一种可能的实施方式中,M可以为大于采样周期的最大容许取值的以2为底对数值的最小整数值。如此,可以从码流中读取M个二进制比特串,将第二语法元素的取值设置为等于M个二进制比特串对应的无符号整型数。
示例性地,假定采样周期的最大容许取值为N(这里的“N”表示输入点云的点数),那么sampling_period_minus2的最大容许取值可以为N-2。在本申请实施例中,采样周期的最小值为2,则2≤T≤N,T表示采样周期。这时候对于sampling_period_minus2而言,sampling_period_minus2的取值可以位于[0,N-2]的区间内。如果解析码流,获取到sampling_period_minus2的取值不在[0,N-2]的区间内;那么表明该解析错误,或者解析到的采样周期不可用,这时候利用该采样周期的候选输入值对输入点云进行处理以生成LOD,将不利于系统的一致性。
在本申请实施例中,解码点云可以为一个或多个slice,而slice规定的最大容许点数用Max points in a slice表示。那么可以使用G-PCC中Max points in a slice替代各个slice中的点数,从而能够固定语法元素sampling_period_minus2的取值范围。例如,假定在G-PCC中Max points in a slice为1100000,那么可以将sampling_period_minus2的取值范围规定为[0,Max points in a slice-2],或者由于语法元素的取值均为大于或等于零的值,那么该取值范围还可简单写为Max points in a slice。如此,本申请实施例可以根据点云内容自适应的确定出其最大的采样周期,能够明确规定语法元素sampling_period_minus2的取值范围,在解码器中可以对用户设置的采样周期进行检查,从而增强了系统的一致性,同时可能提升编解码性能。
S403:在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层。
需要说明的是,为了增强系统的一致性,本申请实施例需要满足以下条件:采样周期的解析值小于或等于所述采样周期的最大容许取值;然后才可以根据采样周期的解析值和几何信息对解码点云进行处理,以得到至少一个增强层和至少一个细节层。
还需要说明的是,本申请实施例可以基于采样周期实现对解码点云进行LOD划分。具体地,在确定出采样周期的解析值之后,可以根据采样周期的解析值和几何信息对解码点云进行处理(具体可以是: 采样处理),以实现LOD分层,从而得到至少一个增强层和至少一个细节层。
在一些实施例中,所述根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层,可以包括:
基于所述几何信息,利用所述采样周期的解析值对所述解码点云进行处理,得到第一增强层和第一细节层。
也就是说,利用采样周期的预设值对解码点云进行处理,可以得到第i=1层的第一增强层和第一细节层。
对于除i=1之外的其他层,需要逐层对所得到的细节层进行处理。例如,第i层,此时的细节层可称为目标细节层,利用采样周期的解析值对目标细节层进行处理,得到第i+1层(即下一增强层和下一细节层),直至下一细节层的点数等于1或者达到预设划分层次时停止处理。
在一种可能的实施方式中,可以将细节层的点数仅为1时作为LOD停止划分的条件。这时候,该方法还可以包括:
利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层;
当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
示例性地,对于除i=1外的其他层,以通过第i层得到第i+1层进行说明:
利用所述采样周期的解析值对第i细节层进行处理,得到第i+1增强层和第i+1细节层,i为大于零的整数;
当第i+1细节层的点数大于1时,将i+1赋值给i,继续执行所述利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层的步骤,直至所述第i+1细节层的点数等于1,以得到所述至少一个增强层和所述至少一个细节层。
在另一种可能的实施方式中,可以将LOD分层达到预设划分层数作为LOD停止划分的条件。这时候,该方法还可以包括:
利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;
当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
示例性地,对于除i=1外的其他层,以通过第i层得到第i+1层进行说明:利用所述采样周期的解析值对第i细节层进行处理,得到第i+1增强层和第i+1细节层,i为大于零的整数;
当i小于预设划分层数时,将i+1赋值给i,继续执行所述利用所述采样周期的预设值对第i细节层进行处理,得到第i+1增强层和第i+1细节层的步骤,直至i等于预设划分层数,以得到所述至少一个增强层和所述至少一个细节层。
在本申请实施例中,对于解码点云,需要是经过排序后得到的解码点云。也就是说,首先需要对解码点云进行排序;然后根据采样周期的解析值进行采样,得到第一增强层和第一细节层;紧接着对第i细节层再次进行采样,得到第i+1增强层和第i+1细节层,i为大于零的整数;直至第i+1细节层的点数等于1或者达到用户设置的预设划分层数时则停止划分。
在G-PCC标准中,对于LOD划分的处理(Level of Detail Generation)如下,
假定当前细节层对应于LodLvl,输出(下采样,subsample)后的下一细节层对应于LodLvl+1。其中,对于LodLvl=0,…,num_detail_levels_minus1;inLodSize等同于lodSizes[LodLvl]。
这里,如果当前细节层(或称之为“输入细节级别”)包含单个点,或者已经构建了预定数量的划分层数(即预设划分层数),那么将不会再进一步处理。
if(inLodSize==1||LodLvl==num_detail_levels_minus1){
OutLodSize=0
for(i=0;i<InLodSize;i++)
OutDiffIdxs[i]=InLodIdxs[i]
}
否则,使用以下分区过程之一进行下采样:
如果lod_scalability_enabled_flag等于1,则执行基于八叉树的下采样。
否则,如果lod_regular_sampling_enabled_flag等于1,则执行周期采样。
否则,执行基于距离的下采样。
周期下采样的过程:
当前细节层的采样周期为:
samplingPeriod=2+sampling_period_minus2[LodLvl]
根据输入细节级别中的索引,将输入点指定给下一细节层和下一增强层。
OutLodSize=OutDiffSize=0
for(i=0;i<InLodSize;i++){
if(i%samplingPeriod)
OutDiffIdxs[OutDiffSize++]=InLodIdxs[i]
else
OutLodIdxs[OutLodSize++]=InLodIdxs[i]
}
需要说明的是,针对G-PCC标准中上述内容的具体参数定义以及具体过程可以详见标准文本,这里不再详述。
在一些实施例中,所述解析码流,确定所述采样周期的解析值,可以包括:
解析所述码流,确定所述目标细节层对应的所述采样周期的目标解析值。
相应地,所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,可以包括:
利用所述采样周期的目标解析值对所述目标细节层进行处理,得到下一增强层和下一细节层。
在本申请实施例中,所述采样周期的目标解析值小于或等于所述采样周期的最大容许取值。
还需要说明的是,在上述过程中,这至少一个细节层对应的采样周期可以是固定采样周期,也可以是可变采样周期。这里,第i细节层对应的采样周期的解析值可以用采样周期的第i解析值表示。在一些实施例中,所述解析码流,确定所述采样周期的解析值,包括:
解析所述码流,确定第i细节层对应的所述采样周期的第i解析值,i为大于零的整数;
相应地,所述利用所述采样周期的解析值对第i细节层进行处理,得到第i+1增强层和第i+1细节层,可以包括:利用所述第i细节层对应的所述采样周期的第i解析值对第i细节层进行处理,得到第i+1增强层和第i+1细节层。
进一步地,在一些实施例中,所述采样周期的第i解析值小于或等于所述采样周期的最大容许取值。
还需要说明的是,针对这至少一个细节层,每一层对应的采样周期的预设值均小于或等于采样周期的最大容许取值。另外,这至少一个细节层中不同细节层对应不同的采样周期的预设值,也可以对应相同的采样周期的预设值。通常情况下,当这至少一个细节层中不同细节层对应不同的采样周期的预设值时,第i细节层对应的采样周期的预设值大于第i+1细节层对应的采样周期的预设值,但是这里不作具体限定。
换言之,第idx细节层对应的第二语法元素的取值可以用sampling_period_minus2[idx]表示,那么细节级别idx(或称为第idx细节层)对应的采样周期的预设值通过sampling_period_minus2[idx]加2得到。其中,sampling_period_minus2[idx]小于或等于第二语法元素的最大容许取值。
S404:利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
需要说明的是,在完成LOD划分后,可以利用这至少一个增强层和至少一个细节层对属性信息进行解码,具体可以为:利用已解码的细节层中的重建点和当前增强层中已解码的重建点对当前点进行预测,得到预测数据;同时通过解析码流,获取预测残差,对预测数据和预测残差进行加法计算,可以得到当前点的重建数据(即重建点),进而可以重构得到该重建点云。
简言之,在本申请实施例中,利用采样周期的方式对解码点云进行采样以实现LOD划分,该方法的复杂度低,而且能够很好地捕捉初始点的分布,并且对不规则采样点云上的非光滑属性信息进行更为有效的预测。另外,针对语法元素sampling_period_minus2的最大容许取值没有定义的问题,本申请实施例还预先定义其最大值为MAX。在基于采样周期的LOD生成方式中,首先对解码点云进行排序,然后根据用户所设置的采样周期对排序后的输入点云进行采样,那么其采样周期最大的情况下应该不大于当前点云的点数,而且最小值为2;这时候可以表示为:2≤T≤N,其中T为采样周期,N为解码点云的点数。从而sampling_period_minus2的区间可定义为0到N-2。需要注意的是,由于语法元素在解码器通常都是从零开始,故采样周期会进行减2处理。
还需要说明的是,语法元素sampling_period_minus2位于属性参数集中,而且它是图片级的。由于属性参数集具有较高的优先级,因此每一个slice都将引用这个语法元素(sampling_period_minus2)。
另外,MAX并不会写入码流,它主要是利用解码点云的相关内容(比如输入点云的点数、slice的 点数和slice的最大容许点数等)得到,而且仅用于系统的一致性检查。编码器只是将采样周期的预设值(即sampling_period_minus2的取值)写入码流中。
在G-PCC中,解码点云可以分割为若干个slice。这时候如果MAX直接使用解码点云的点数,它将是一个非常大的值,也就意味着并没有起到限制的作用。这样,针对若干个slice,其对应的采样周期的最大值(即最大容许取值)即为每个slice中的点数(N i)。那么对于整个解码点云而言,其对应的采样周期的最大值为max{N i}。而且针对每一个slice,GSH中包括了一语法元素来表示当前slice的点数,这以语法元素为geom_num_points_minus1。具体来说,geom_num_points_minus1写在geometry data unit footer中,而geometry data unit footer位于geometry data unit中。无论属性参数集在GSH之前还是之后,slice的点数都不能用来表示sampling_period_minus2的取值,因为slice的点数只是用于限制sampling_period_minus2的最大容许取值。
还需要说明的是,在草案文本中,定义了“sampling_period_minus2[idx]加2可以表示细节级别idx的采样周期的取值,而且采样周期的取值为0~xx的区间内”。在本申请实施例中,针对采样周期的取值,可以简写为“小于或等于MAX”。如此,本申请实施例可以根据点云内容自适应的确定出其最大的采样周期,能够明确规定语法元素sampling_period_minus2的取值范围。
本实施例提供了一种点云解码方法,通过解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;确定所述采样周期的最大容许取值;在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。这样,由于在解码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升解码效率,以提升解码性能。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图5,其示出了本申请实施例提供的一种编码器50的组成结构示意图。如图5所示,该编码器50可以包括:第一获取单元501、第一确定单元502、第一采样单元503和编码单元504;其中,
第一获取单元501,配置为获取输入点云的几何信息和属性信息;
第一确定单元502,配置为确定所述输入点云进行细节层次划分时采样周期的最大容许取值;以及基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
第一采样单元503,配置为根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
编码单元504,配置为利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
在一些实施例中,第一确定单元502,还配置为确定所述输入点云中包含的总点数;以及根据所述输入点云中包含的总点数,确定所述采样周期的最大容许取值。
在一些实施例中,参见图5,编码器50还可以包括第一设置单元505,配置为将所述采样周期的最大容许取值设置为等于所述输入点云中包含的总点数。
在一些实施例中,第一确定单元502,还配置为确定所述输入点云的符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;以及根据所述符合性参数,确定所述采样周期的最大容许取值。
在一些实施例中,第一设置单元505,还配置为将所述采样周期的最大容许取值设置为等于所述符合性参数对应的预设值。
在一些实施例中,第一设置单元505,还配置为将所述采样周期的最大容许取值设置为预设的常数值。
在一些实施例中,参见图5,编码器50还可以包括划分单元506;
第一确定单元502,还配置为确定所述输入点云中包含的总点数;
划分单元506,配置为若所述输入点云中包含的总点数大于slice可包含的最大容许点数,则对所述输入点云进行划分,得到至少一个slice;
第一确定单元502,还配置为确定所述至少一个slice中包含的点数;以及根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
在一些实施例中,第一确定单元502,还配置为从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
在一些实施例中,第一设置单元505,还配置为将所述采样周期的最大容许取值设置为等于所述 slice可包含的最大容许点数。
在一些实施例中,参见图5,编码器50还可以包括写入单元507;
第一确定单元502,还配置为根据所述至少一个slice中包含的点数,确定所述至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
写入单元507,配置为将所述第一语法元素的取值写入所述码流。
在一些实施例中,第一设置单元505,还配置为将所述第一语法元素的取值设置为等于所述至少一个slice中包含的点数与第一常数值之和,其中,所述第一常数值是预设的整数值。
在一些实施例中,所述第一常数值等于-1。
在一些实施例中,写入单元507,还配置为将所述第一语法元素的取值写入所述至少一个slice的几何数据单元中;以及将所述至少一个slice的几何数据单元写入所述码流。
在一些实施例中,第一获取单元501,配置为获取所述采样周期的候选输入值;
第一确定单元502,还配置为若所述采样周期的候选输入值小于或等于所述采样周期的最大容许取值,则将所述采样周期的候选输入值确定为所述采样周期的预设值。
在一些实施例中,第一设置单元505,还配置为将所述采样周期的预设值设置为小于或等于所述采样周期的最大容许取值。
在一些实施例中,第一确定单元502,还配置为基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值;其中,所述第二语法元素用于指示在对所述输入点云进行细节层次划分时的采样周期。
在一些实施例中,第一设置单元505,还配置为将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
在一些实施例中,所述第二常数值等于-2。
在一些实施例中,第一设置单元505,还配置为将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
在一些实施例中,第一确定单元502,还配置为基于所述采样周期的预设值,确定第二语法元素的取值;
写入单元507,还配置为将所述第二语法元素的取值写入所述码流。
在一些实施例中,第一确定单元502,还配置为基于所述采样周期的预设值,确定第二语法元素的取值;
写入单元507,还配置为将所述第二语法元素的取值写入属性参数集,将所述属性参数集写入所述码流。
在一些实施例中,所述第二语法元素的取值小于或等于所述第二语法元素的最大容许取值。
在一些实施例中,第一设置单元505,还配置为将所述第二语法元素的取值设置为等于所述采样周期的预设值与第三常数值之和,其中,所述第三常数值是预设的整数值。
在一些实施例中,所述第三常数值等于-2。
在一些实施例中,第一确定单元502,还配置为根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数;
写入单元507,还配置为将所述第二语法元素的取值转换为所述第一比特数的二进制比特串,并将所述第一比特数的二进制比特串写入所述码流。
在一些实施例中,第一设置单元505,还配置为所述第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
在一些实施例中,第一采样单元503,还配置为基于所述几何信息,利用所述采样周期的预设值对所述输入点云进行处理,得到第一增强层和第一细节层。
在一些实施例中,第一采样单元503,还配置为利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层;以及当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
在一些实施例中,第一采样单元503,还配置为利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;以及当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
在一些实施例中,第一确定单元502,还配置为基于所述采样周期的最大容许取值,确定所述目标 细节层对应的所述采样周期的目标预设值;
第一采样单元503,还配置为利用所述采样周期的目标预设值对所述目标细节层进行处理,得到下一增强层和下一细节层。
在一些实施例中,所述采样周期的目标预设值小于或等于所述采样周期的最大容许取值。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器50,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器50的组成以及计算机存储介质,参见图6,其示出了本申请实施例提供的编码器50的具体硬件结构示意图。如图6所示,可以包括:第一通信接口601、第一存储器602和第一处理器603;各个组件通过第一总线系统604耦合在一起。可理解,第一总线系统604用于实现这些组件之间的连接通信。第一总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为第一总线系统604。其中,
第一通信接口601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器602,用于存储能够在第一处理器603上运行的计算机程序;
第一处理器603,用于在运行所述计算机程序时,执行:
获取输入点云的几何信息和属性信息;
确定所述输入点云进行细节层次划分时采样周期的最大容许取值;
基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
可以理解,本申请实施例中的第一存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器603可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器 602,第一处理器603读取第一存储器602中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器603还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一获取单元、第一确定单元、第一采样单元和编码单元。这样,由于在编码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升编码效率,以提升编码性能。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图7,其示出了本申请实施例提供的一种解码器70的组成结构示意图。如图7所示,该解码器70可以包括:解码单元701、第二确定单元702和第二采样单元703;其中,
解码单元701,配置为确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
第二确定单元702,配置为确定所述采样周期的最大容许取值;
第二采样单元703,配置为在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
解码单元701,还配置为利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
在一些实施例中,第二确定单元702,还配置为确定slice可包含的最大容许点数;以及根据所述slice可包含的最大容许点数,确定所述采样周期的最大容许取值。
在一些实施例中,参见图7,解码器70还可以包括第二设置单元704,配置为将所述采样周期的最大容许取值设置为等于所述slice可包含的最大容许点数。
在一些实施例中,解码单元701,还配置为解析所述码流,确定至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
第二确定单元702,还配置为根据所述第一语法元素的取值,确定所述至少一个slice中包含的点数;以及根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
在一些实施例中,第二确定单元702,还配置为从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
在一些实施例中,解码单元701,还配置为解析所述码流,确定所述至少一个slice的几何数据单元;
第二确定单元702,还配置为从所述至少一个slice的几何数据单元中,确定所述至少一个slice对应的第一语法元素的取值。
在一些实施例中,第二设置单元704,还配置为将所述至少一个slice中包含的点数的取值设置为等于所述第一语法元素的取值与第一常数值之和,其中,所述第一常数值是预设的整数值。
在一些实施例中,所述第一常数值等于1。
在一些实施例中,解码单元701,还配置为解析所述码流,确定所述解码点云中包含的总点数;
第二确定单元702,还配置为根据所述解码点云中包含的总点数,确定所述采样周期的最大容许取值。
在一些实施例中,第二设置单元704,还配置为将所述采样周期的最大容许取值设置为等于所述解码点云中包含的总点数。
在一些实施例中,解码单元701,还配置为解析所述码流,确定符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;
第二确定单元702,还配置为根据所述符合性参数,确定所述采样周期的最大容许取值。
在一些实施例中,第二设置单元704,还配置为将所述采样周期的最大容许取值设置为等于所述符 合性参数对应的预设值。
在一些实施例中,第二设置单元704,还配置为将所述采样周期的最大容许取值设置为预设的常数值。
在一些实施例中,解码单元701,还配置为解析所述码流,确定第二语法元素的取值;其中,所述第二语法元素用于指示在对所述解码点云进行细节层次划分时的采样周期;
第二确定单元702,还配置为根据所述第二语法元素的取值,确定所述采样周期的解析值。
在一些实施例中,解码单元701,还配置为解析所述码流,获取属性参数集;
第二获取单元704,还配置为从所述属性参数集中,确定所述第二语法元素的取值。
在一些实施例中,第二确定单元702,还配置为根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数。
在一些实施例中,第二设置单元704,还配置为所述第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
在一些实施例中,第二设置单元704,还配置为从所述码流中读取数量等于所述第一比特数的二进制比特串;以及将所述第二语法元素的取值设置为等于所述二进制比特串对应的无符号整型数。
在一些实施例中,第二确定单元702,还配置为基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值。
在一些实施例中,第二设置单元704,还配置为将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
在一些实施例中,所述第二常数值等于-2。
在一些实施例中,第二设置单元704,还配置为将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
在一些实施例中,所述第二语法元素的取值小于或等于所述第二语法元素的最大容许取值。
在一些实施例中,第二设置单元704,还配置为将所述采样周期的解析值设置为等于对所述第二语法元素的取值与第三常数值之和,其中,所述第三常数值是预设的整数值。
在一些实施例中,所述第三常数值等于2。
在一些实施例中,第二采样单元703,还配置为基于所述几何信息,利用所述采样周期的解析值对所述解码点云进行处理,得到第一增强层和第一细节层。
在一些实施例中,第二采样单元703,还配置为利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层;以及当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
在一些实施例中,第二采样单元703,还配置为利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;以及当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
在一些实施例中,解码单元701,还配置为解析所述码流,确定所述目标细节层对应的所述采样周期的目标解析值。
在一些实施例中,第二采样单元703,还配置为利用所述采样周期的目标解析值对所述目标细节层进行处理,得到下一增强层和下一细节层。
在一些实施例中,所述采样周期的目标解析值小于或等于所述采样周期的最大容许取值。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器70,该计算机存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器70的组成以及计算机存储介质,参见图8,其示出了本申请实施例提供的解码器70的具体硬件结构示意图。如图8所示,可以包括:第二通信接口801、第二存储器802和第二处理器803;各个组件通过第二总线系统804耦合在一起。可理解,第二总线系统804用于实现这些组件之间 的连接通信。第二总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为第二总线系统804。其中,
第二通信接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器802,用于存储能够在第二处理器803上运行的计算机程序;
第二处理器803,用于在运行所述计算机程序时,执行:
解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
确定所述采样周期的最大容许取值;
在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
可选地,作为另一个实施例,第二处理器803还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器802与第一存储器602的硬件功能类似,第二处理器803与第一处理器603的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括解码单元、第二确定单元和第二采样单元。这样,由于在解码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升解码效率,以提升解码性能。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,在编码器侧,通过获取输入点云的几何信息和属性信息;确定所述输入点云进行细节层次划分时采样周期的最大容许取值;基于所述采样周期的最大容许取值,确定所述采样周期的预设值;根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。在解码器侧,通过解析码流,确定解码点云,以及对所述解码点云进行细节层次划分时采样周期的解析值;在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。这样,由于在编码器和解码器中规定了采样周期的最大值,能够保证采样周期的预设值不会超过采样周期的最大值,从而在利用该采样周期的预设值对点云进行一系列处理时,能够增强系统的一致性,而且还能够提升编解码效率。

Claims (67)

  1. 一种点云编码方法,应用于编码器,所述方法包括:
    获取输入点云的几何信息和属性信息;
    确定所述输入点云进行细节层次划分时采样周期的最大容许取值;
    基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
    根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
    利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
  2. 根据权利要求1所述的方法,其中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,包括:
    确定所述输入点云中包含的总点数;
    根据所述输入点云中包含的总点数,确定所述采样周期的最大容许取值。
  3. 根据权利要求2所述的方法,其中,所述根据所述输入点云中包含的总点数,确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为等于所述输入点云中包含的总点数。
  4. 根据权利要求1所述的方法,其中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,包括:
    确定所述输入点云的符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;
    根据所述符合性参数,确定所述采样周期的最大容许取值。
  5. 根据权利要求4所述的方法,其中,所述根据所述符合性参数,确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为等于所述符合性参数对应的预设值。
  6. 根据权利要求1所述的方法,其中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为预设的常数值。
  7. 根据权利要求1所述的方法,其中,所述确定所述输入点云进行细节层次划分时采样周期的最大容许取值,包括:
    确定所述输入点云中包含的总点数;
    若所述输入点云中包含的总点数大于片slice可包含的最大容许点数,则对所述输入点云进行划分,得到至少一个slice,并确定所述至少一个slice中包含的点数;
    根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
  8. 根据权利要求7所述的方法,其中,所述根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值,包括:
    从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
  9. 根据权利要求7所述的方法,其中,所述方法还包括:
    将所述采样周期的最大容许取值设置为等于所述slice可包含的最大容许点数。
  10. 根据权利要求7所述的方法,其中,所述方法还包括:
    根据所述至少一个slice中包含的点数,确定所述至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
    将所述第一语法元素的取值写入所述码流。
  11. 根据权利要求10所述的方法,其中,所述根据所述至少一个slice中包含的点数,确定所述至少一个slice对应的第一语法元素的取值,包括:
    将所述第一语法元素的取值设置为等于所述至少一个slice中包含的点数与第一常数值之和,其中,所述第一常数值是预设的整数值。
  12. 根据权利要求11所述的方法,其中,所述第一常数值等于-1。
  13. 根据权利要求10所述的方法,其中,所述将所述第一语法元素的取值写入所述码流,包括:
    将所述第一语法元素的取值写入所述至少一个slice的几何数据单元中;
    将所述至少一个slice的几何数据单元写入所述码流。
  14. 根据权利要求1所述的方法,其中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,包括:
    获取所述采样周期的候选输入值;
    若所述采样周期的候选输入值小于或等于所述采样周期的最大容许取值,则将所述采样周期的候选输入值确定为所述采样周期的预设值。
  15. 根据权利要求1所述的方法,其中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,包括:
    将所述采样周期的预设值设置为小于或等于所述采样周期的最大容许取值。
  16. 根据权利要求1所述的方法,其中,所述方法还包括:
    基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值;其中,所述第二语法元素用于指示在对所述输入点云进行细节层次划分时的采样周期。
  17. 根据权利要求16所述的方法,其中,所述基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值,包括:
    将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
  18. 根据权利要求17所述的方法,其中,所述第二常数值等于-2。
  19. 根据权利要求16所述的方法,其中,所述基于所述采样周期的最大容许取值,确定第二语法元素的最大容许取值,包括:
    将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
  20. 根据权利要求1所述的方法,其中,所述将所述采样周期的预设值写入所述码流,包括:
    基于所述采样周期的预设值,确定第二语法元素的取值;
    将所述第二语法元素的取值写入所述码流。
  21. 根据权利要求1所述的方法,其中,所述将所述采样周期的预设值写入所述码流,包括:
    基于所述采样周期的预设值,确定第二语法元素的取值;
    将所述第二语法元素的取值写入属性参数集,将所述属性参数集写入所述码流。
  22. 根据权利要求20或21所述的方法,其中,所述第二语法元素的取值小于或等于所述第二语法元素的最大容许取值。
  23. 根据权利要求20或21所述的方法,其中,所述基于所述采样周期的预设值,确定第二语法元素的取值,包括:
    将所述第二语法元素的取值设置为等于所述采样周期的预设值与第三常数值之和,其中,所述第三常数值是预设的整数值。
  24. 根据权利要求23所述的方法,其中,所述第三常数值等于-2。
  25. 根据权利要求20所述的方法,其中,所述将所述第二语法元素的取值写入所述码流,包括:
    根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数;
    将所述第二语法元素的取值转换为所述第一比特数的二进制比特串,并将所述第一比特数的二进制比特串写入所述码流。
  26. 根据权利要求25所述的方法,其中,所述方法还包括:
    所述第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
  27. 根据权利要求1所述的方法,其中,所述根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层,包括:
    基于所述几何信息,利用所述采样周期的预设值对所述输入点云进行处理,得到第一增强层和第一细节层。
  28. 根据权利要求27所述的方法,其中,所述方法还包括:
    利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层;
    当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
  29. 根据权利要求27所述的方法,其中,所述方法还包括:
    利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;
    当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,以及对 当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
  30. 根据权利要求28或29所述的方法,其中,所述基于所述采样周期的最大容许取值,确定所述采样周期的预设值,包括:
    基于所述采样周期的最大容许取值,确定所述目标细节层对应的所述采样周期的目标预设值;
    相应地,所述利用所述采样周期的预设值对目标细节层进行处理,得到下一增强层和下一细节层,包括:
    利用所述采样周期的目标预设值对所述目标细节层进行处理,得到下一增强层和下一细节层。
  31. 根据权利要求30所述的方法,其中,所述采样周期的目标预设值小于或等于所述采样周期的最大容许取值。
  32. 一种点云解码方法,应用于解码器,所述方法包括:
    解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
    确定所述采样周期的最大容许取值;
    在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
    利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
  33. 根据权利要求32所述的方法,其中,所述确定所述采样周期的最大容许取值,包括:
    确定slice可包含的最大容许点数;
    根据所述slice可包含的最大容许点数,确定所述采样周期的最大容许取值。
  34. 根据权利要求33所述的方法,其中,所述根据所述slice可包含的最大容许点数,确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为等于所述slice可包含的最大容许点数。
  35. 根据权利要求32所述的方法,其中,所述确定所述采样周期的最大容许取值,包括:
    解析所述码流,确定至少一个slice对应的第一语法元素的取值;其中,所述第一语法元素用于指示所述至少一个slice中包含的点数;
    根据所述第一语法元素的取值,确定所述至少一个slice中包含的点数;
    根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值。
  36. 根据权利要求35所述的方法,其中,所述根据所述至少一个slice中包含的点数,确定所述采样周期的最大容许取值,包括:
    从所述点数中选取最大值,将所述最大值确定为所述采样周期的最大容许取值。
  37. 根据权利要求35所述的方法,其中,所述解析所述码流,确定至少一个slice对应的第一语法元素的取值,包括:
    解析所述码流,确定所述至少一个slice的几何数据单元;
    从所述至少一个slice的几何数据单元中,确定所述至少一个slice对应的第一语法元素的取值。
  38. 根据权利要求35所述的方法,其中,所述根据所述第一语法元素的取值,确定所述至少一个slice中包含的点数,包括:
    将所述至少一个slice中包含的点数的取值设置为等于所述第一语法元素的取值与第一常数值之和,其中,所述第一常数值是预设的整数值。
  39. 根据权利要求38所述的方法,其中,所述第一常数值等于1。
  40. 根据权利要求32所述的方法,其中,所述确定所述采样周期的最大容许取值,包括:
    解析所述码流,确定所述解码点云中包含的总点数;
    根据所述解码点云中包含的总点数,确定所述采样周期的最大容许取值。
  41. 根据权利要求40所述的方法,其中,所述根据所述解码点云中包含的总点数,确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为等于所述解码点云中包含的总点数。
  42. 根据权利要求32所述的方法,其中,所述确定所述采样周期的最大容许取值,包括:
    解析所述码流,确定符合性参数,其中,所述符合性参数包含档次参数、等级参数、级别参数中的至少之一;
    根据所述符合性参数,确定所述采样周期的最大容许取值。
  43. 根据权利要求42所述的方法,其中,所述根据所述符合性参数,确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为等于所述符合性参数对应的预设值。
  44. 根据权利要求32所述的方法,其中,所述确定所述采样周期的最大容许取值,包括:
    将所述采样周期的最大容许取值设置为预设的常数值。
  45. 根据权利要求32所述的方法,其中,所述解析码流,确定所述采样周期的解析值,包括:
    解析所述码流,确定第二语法元素的取值;其中,所述第二语法元素用于指示在对所述解码点云进行细节层次划分时的采样周期;
    根据所述第二语法元素的取值,确定所述采样周期的解析值。
  46. 根据权利要求45所述的方法,其中,所述解析所述码流,确定第二语法元素的取值,包括:
    解析所述码流,获取属性参数集;
    从所述属性参数集中,确定所述第二语法元素的取值。
  47. 根据权利要求45所述的方法,其中,所述解析所述码流,确定第二语法元素的取值,包括:
    根据所述采样周期的最大容许取值,确定所述第二语法元素在所述码流中对应的第一比特数。
  48. 根据权利要求47所述的方法,其中,所述方法还包括:
    所述第一比特数设置为等于大于所述采样周期的最大容许取值的以2为底对数值的最小整数值。
  49. 根据权利要求47所述的方法,其中,所述方法还包括:
    从所述码流中读取数量等于所述第一比特数的二进制比特串;
    将所述第二语法元素的取值设置为等于所述二进制比特串对应的无符号整型数。
  50. 根据权利要求45所述的方法,其中,所述方法还包括:
    基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值。
  51. 根据权利要求50所述的方法,其中,所述基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值,包括:
    将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值与第二常数值之和,其中,所述第二常数值是预设的整数值。
  52. 根据权利要求51所述的方法,其中,所述第二常数值等于-2。
  53. 根据权利要求50所述的方法,其中,所述基于所述采样周期的最大容许取值,确定所述第二语法元素的最大容许取值,包括:
    将所述第二语法元素的最大容许取值设置为等于所述采样周期的最大容许取值。
  54. 根据权利要求50所述的方法,其中,所述第二语法元素的取值小于或等于所述第二语法元素的最大容许取值。
  55. 根据权利要求45所述的方法,其中,所述根据所述第二语法元素的取值,确定所述采样周期的解析值,包括:
    将所述采样周期的解析值设置为等于对所述第二语法元素的取值与第三常数值之和,其中,所述第三常数值是预设的整数值。
  56. 根据权利要求55所述的方法,其中,所述第三常数值等于2。
  57. 根据权利要求32所述的方法,其中,所述根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层,包括:
    基于所述几何信息,利用所述采样周期的解析值对所述解码点云进行处理,得到第一增强层和第一细节层。
  58. 根据权利要求57所述的方法,其中,所述方法还包括:
    利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层;
    当所述下一细节层的点数大于1时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层的步骤,直至所述下一细节层的点数等于1时终止处理。
  59. 根据权利要求57所述的方法,其中,所述方法还包括:
    利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作;
    当所述当前划分层数小于预设划分层数时,将得到的所述下一细节层设置为所述目标细节层,并继续执行所述利用所述采样周期的解析值对目标细节层进行处理,得到下一增强层和下一细节层,以及对当前划分层数执行加1操作的步骤,直至所述当前划分层数等于预设划分层数时终止处理。
  60. 根据权利要求58或59所述的方法,其中,所述解析码流,确定所述采样周期的解析值,包括:
    解析所述码流,确定所述目标细节层对应的所述采样周期的目标解析值。
  61. 根据权利要求60所述的方法,其中,所述利用所述采样周期的解析值对目标细节层进行处理, 得到下一增强层和下一细节层,包括:
    利用所述采样周期的目标解析值对所述目标细节层进行处理,得到下一增强层和下一细节层。
  62. 根据权利要求60所述的方法,其中,所述采样周期的目标解析值小于或等于所述采样周期的最大容许取值。
  63. 一种编码器,所述编码器包括第一获取单元、第一确定单元、第一采样单元和编码单元;其中,
    所述第一获取单元,配置为获取输入点云的几何信息和属性信息;
    所述第一确定单元,配置为确定所述输入点云进行细节层次划分时采样周期的最大容许取值;以及基于所述采样周期的最大容许取值,确定所述采样周期的预设值;
    所述第一采样单元,配置为根据所述采样周期的预设值和所述几何信息对所述输入点云进行处理,得到至少一个增强层和至少一个细节层;
    所述编码单元,配置为利用所述至少一个增强层和所述至少一个细节层对所述属性信息进行编码,生成码流,并将所述采样周期的预设值写入所述码流。
  64. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至31任一项所述的方法。
  65. 一种解码器,所述解码器包括解码单元、第二确定单元和第二采样单元;其中,
    所述解码单元,配置为解析码流,确定解码点云的几何信息,以及对所述解码点云进行细节层次划分时采样周期的解析值;
    所述第二确定单元,配置为确定所述采样周期的最大容许取值;
    所述第二采样单元,配置为在所述采样周期的解析值小于或等于所述采样周期的最大容许取值时,根据所述采样周期的解析值和所述几何信息对所述解码点云进行处理,得到至少一个增强层和至少一个细节层;
    所述解码单元,还配置为利用所述至少一个增强层和所述至少一个细节层对所述解码点云的属性信息进行解码,确定所述解码点云的重建点云。
  66. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求32至62任一项所述的方法。
  67. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至31任一项所述的方法、或者被第二处理器执行时实现如权利要求32至62任一项所述的方法。
CN202080108117.5A 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质 Pending CN116648915A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311054264.0A CN116980624A (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/142301 WO2022141461A1 (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311054264.0A Division CN116980624A (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质

Publications (1)

Publication Number Publication Date
CN116648915A true CN116648915A (zh) 2023-08-25

Family

ID=82258920

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311054264.0A Pending CN116980624A (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质
CN202080108117.5A Pending CN116648915A (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311054264.0A Pending CN116980624A (zh) 2020-12-31 2020-12-31 点云编解码方法、编码器、解码器以及计算机存储介质

Country Status (8)

Country Link
EP (1) EP4273807A1 (zh)
JP (1) JP2024507046A (zh)
KR (1) KR20230125817A (zh)
CN (2) CN116980624A (zh)
AU (1) AU2020484221A1 (zh)
CA (1) CA3203882A1 (zh)
MX (1) MX2023007883A (zh)
WO (1) WO2022141461A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115379189B (zh) * 2022-08-19 2023-12-12 腾讯科技(深圳)有限公司 一种点云媒体的数据处理方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853973B2 (en) * 2018-10-03 2020-12-01 Apple Inc. Point cloud compression using fixed-point numbers
WO2020123469A1 (en) * 2018-12-11 2020-06-18 Futurewei Technologies, Inc. Hierarchical tree attribute coding by median points in point cloud coding
WO2020189876A1 (ko) * 2019-03-15 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Also Published As

Publication number Publication date
AU2020484221A1 (en) 2023-08-10
WO2022141461A1 (zh) 2022-07-07
JP2024507046A (ja) 2024-02-16
EP4273807A1 (en) 2023-11-08
CN116980624A (zh) 2023-10-31
KR20230125817A (ko) 2023-08-29
US20230351639A1 (en) 2023-11-02
MX2023007883A (es) 2023-07-10
CA3203882A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
WO2021142223A1 (en) Quantization for geometry-based point cloud compression
US11936850B2 (en) Methods for intra prediction, and encoder
US20240187645A1 (en) Method and device for intra prediction
CN116648915A (zh) 点云编解码方法、编码器、解码器以及计算机存储介质
WO2023015530A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
US12026920B2 (en) Point cloud encoding and decoding method, encoder and decoder
CN117793372A (zh) 预测方法、编码器、解码器以及计算机存储介质
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
WO2023204040A1 (ja) 復号方法、符号化方法、復号装置及び符号化装置
WO2022170511A1 (zh) 点云解码方法、解码器及计算机存储介质
WO2024103304A1 (zh) 点云编解码方法、编码器、解码器、码流及存储介质
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2024082135A1 (zh) 编解码方法、编解码器、码流以及计算机存储介质
WO2023240455A1 (zh) 点云编码方法、编码装置、编码设备以及存储介质
WO2024007268A1 (zh) 点云编解码方法、编解码器及计算机存储介质
WO2024011739A1 (zh) 点云编解码方法、编解码器及计算机存储介质
WO2024082152A1 (zh) 编解码方法及装置、编解码器、码流、设备、存储介质
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
CN116830579A (zh) 几何重构方法、解码器以及计算机存储介质
WO2023249999A1 (en) System and method for geometry point cloud coding
JP2023553503A (ja) 点群の符号化方法、復号化方法、エンコーダ及びデコーダ
CN116438797A (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2024085936A1 (en) System and method for geometry point cloud coding
CN116097651A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40096880

Country of ref document: HK