CN116438797A - 点云编解码方法与系统、及点云编码器与点云解码器 - Google Patents

点云编解码方法与系统、及点云编码器与点云解码器 Download PDF

Info

Publication number
CN116438797A
CN116438797A CN202080107001.XA CN202080107001A CN116438797A CN 116438797 A CN116438797 A CN 116438797A CN 202080107001 A CN202080107001 A CN 202080107001A CN 116438797 A CN116438797 A CN 116438797A
Authority
CN
China
Prior art keywords
point
current point
value
attribute information
information
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
CN202080107001.XA
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 CN202310896794.3A priority Critical patent/CN116708769A/zh
Publication of CN116438797A publication Critical patent/CN116438797A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/182Methods 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 a pixel
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请提供一种点云编解码方法与系统、及点云编码器与点云解码器,通过点云中点的几何信息来确定当前点的属性信息的预测模式,这样使得预测模式的确定过程中与点云中点的属性信息的重建过程解耦,使得两个过程可以并行进行,进而提高编解码的效率。

Description

点云编解码方法与系统、及点云编码器与点云解码器 技术领域
本申请涉及点云编解码技术领域,尤其涉及一种点云编解码方法与系统、及点云编码器与点云解码器。
背景技术
通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的点。在视频制作过程中,将点云数据以点云媒体文件的形式在点云编码设备和点云解码设备之间传输。但是,如此庞大的点给传输带来了挑战,因此,点云编码设备需要对点云数据进行压缩后传输。
点云数据的压缩主要包括几何信息的压缩和属性信息的压缩,在属性信息压缩时,通过预测来减小或消除点云数据中的冗余信息,例如,从已编码的点中获得当前点的一个或多个相邻点,根据相邻点的属性信息,来预测当前点的属性信息。
目前基于邻居点的属性信息的重建值来确定当前点的预测模式,进而使得预测模式的确定过程与属性信息的重建过程耦合,进而降低点云编码的效果。
发明内容
本申请实施例提供了一种点云编解码方法与系统、及点云编码器与点云解码器,以提高点云编码效率。
第一方面,本申请提供了一种点云编码方法,包括:
获取点云中当前点的几何信息和属性信息;
根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值;
根据所述当前点的属性信息的预测值,得到所述当前点的属性信息的残差值;
对所述当前点的属性信息的残差值进行编码,生成点云码流。
第二方面,本申请实施例提供一种点云解码方法,包括:
解码点云码流,获取点云中当前点的几何信息和属性信息;
根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值。
第三方面,本申请提供了一种点云编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,该编码器包括用于执行上述第一方面或其各实现方式中的方法的功能单元。
第四方面,本申请提供了一种点云解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,该解码器包括用于执行上述第二方面或其各实现方式中的方法的功能单元。
第五方面,提供了一种点云编码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种点云解码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种点云编解码系统,包括点云编码器和点云解码器。点云编码器用于执行上述第一方面或其各实现方式中的方法,点云解码器用于执行上述第二方面或其各实现方式中的方法。
第八方面,提供了一种芯片,用于实现上述第一方面至第二方面中的任一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十一方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
基于以上技术方案,通过通过点云中点的几何信息来确定当前点的属性信息的预测模式,这样使得预测模式的确定过程中与点云中点的属性信息的重建过程解耦,使得两个过程可以并行进行,进而提高编解码的效率。
附图说明
图1为本申请实施例涉及的一种点云编解码系统100的示意性框图;
图2是本申请实施例提供的点云编码器200的示意性框图;
图3是本申请实施例提供的解码器300的示意性框图;
图4为本申请实施例涉及的属性编码模块400的部分框图;
图5为本申请实施例涉及的属性解码模块500的部分框图;
图6为一实施例的编码端预测示意图;
图7为一实施例的解码端预测示意图;
图8为本申请实施例提供的点云编码方法600的一种流程示意图;
图9为本申请实施例提供的点云编码方法600a的一种流程示意图;
图10为本申请实施例提供的点云编码方法700的一种流程示示意图;
图11为本申请实施例提供的点云解码方法800的一种流程示意图;
图12为本申请实施例提供的点云解码方法800a的一种流程示意图;
图13为本申请实施例提供的点云解码方法900的一种流程示意图;
图14是本申请实施例提供的点云编码器10的示意性框图;
图15是本申请实施例提供的点云解码器20的示意性框图;
图16是本申请实施例提供的电子设备30的示意性框图;
图17是本申请实施例提供的点云编解码系统40的示意性框图。
具体实施方式
本申请可应用于点云压缩技术领域。
为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
点云(Point Cloud)是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。
点云数据(Point Cloud Data)是点云的具体记录形式,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,所述颜色信息可以是任意一种色彩空间上的信息。例如,所述颜色信息可以是(RGB)。再如,所述颜色信息可以是于亮度色度(YcbCr,YUV)信息。例如,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色,U和V表示为色度(Chroma)用于描述色差信息。例如,根据激光测量原理得到的点云,所述点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,所述点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,所述点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
点云数据的获取途径可以包括但不限于以下至少一种:(1)计算机设备生成。计算机设备可以根据虚拟三维物体及虚拟三维场景的生成点云数据。(2)3D(3-Dimension,三维)激光扫描获取。通过3D激光扫描可以获取静态现实世界三维物体或三维场景的点云数据,每秒可以获取百万级点云数据;(3)3D摄影测量获取。通过3D摄影设备(即一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集以获取现实世界的视觉场景的点云数据,通过3D摄影可以获得动态现实世界三维物体或三维场景的点云数据。(4)通过医学设备获取生物组织器官的点云数据。在医学领域可以通过磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)、电磁定位信息等医学设备获取生物组织器官的点云数据。
点云可以按获取的途径分为:密集型点云和稀疏性点云。
点云按照数据的时序类型划分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
图1为本申请实施例涉及的一种点云编解码系统100的示意性框图。需要说明的是,图1只是一种示例,本申请实施例的点云编解码系统包括但不限于图1所示。如图1所示,该点云编解码系统100包含编码设备110和解码设备120。其中编码设备用于对点云数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的点云数据。
本申请实施例的编码设备110可以理解为具有点云编码功能的设备,解码设备120可以理解为具有点云解码功能的设备,即本申请实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、点云游戏控制台、车载计算机等。
在一些实施例中,编码设备110可以经由信道130将编码后的点云数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的点云数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
在一个实例中,信道130包括使编码设备110能够实时地将编码后的点云数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的点云数据,且将调制后的点云数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的点云数据。存储介质包含多种本地存取式数据存储介质,例如光盘、DVD、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的点云数据。
在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的点云数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的点云数据。可选的,该存储服务器可以存储编码后的点云数据且可以将该编码后的点云数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(FTP)服务器等。
一些实施例中,编码设备110包含点云编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
在一些实施例中,编码设备110除了包括点云编码器112和输入接口113外,还可以包括点云源111。
点云源111可包含点云采集装置(例如,扫描仪)、点云存档、点云输入接口、计算机图形系统中的至少一个,其中,点云输入接口用于从点云内容提供者处接收点云数据, 计算机图形系统用于产生点云数据。
点云编码器112对来自点云源111的点云数据进行编码,产生码流。点云编码器112经由输出接口113将编码后的点云数据直接传输到解码设备120。编码后的点云数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
在一些实施例中,解码设备120包含输入接口121和点云解码器122。
在一些实施例中,解码设备120除包括输入接口121和点云解码器122外,还可以包括显示装置123。
其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的点云数据。
点云解码器122用于对编码后的点云数据进行解码,得到解码后的点云数据,并将解码后的点云数据传输至显示装置123。
显示装置123显示解码后的点云数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
此外,图1仅为实例,本申请实施例的技术方案不限于图1,例如本申请的技术还可以应用于单侧的点云编码或单侧的点云解码。
目前的点云编码器可以采用运动图像专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以采用音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC及AVS-PCC均针对静态的稀疏型点云,其编码框架大致相同。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。
下面以G-PCC编解码框架为例,对本申请实施例可适用的点云编码器和点云解码器进行说明。
图2是本申请实施例提供的点云编码器200的示意性框图。
由上述可知点云中的点可以包括点的位置信息和点的属性信息,因此,点云中的点的编码主要包括位置编码和属性编码。在一些示例中点云中点的位置信息又称为几何信息,对应的点云中点的位置编码也可以称为几何编码。
位置编码的过程包括:对点云中的点进行预处理,例如坐标变换、量化和移除重复点等;接着,对预处理后的点云进行几何编码,例如构建八叉树,基于构建的八叉树进行几何编码形成几何码流。同时,基于构建的八叉树输出的位置信息,对点云数据中各点的位置信息进行重建,得到各点的位置信息的重建值。
属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的原始值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
如图2所示,位置编码可通过以下单元实现:
坐标转换(Tanmsform coordinates)单元201、量化和移除重复点(Quantize and remove points)单元202、八叉树分析(Analyze octree)单元203、几何重建(Reconstruct geometry)单元204以及第一算术编码(Arithmetic enconde)单元205。
坐标转换单元201可用于将点云中点的世界坐标变换为相对坐标。例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标转换为相对坐标。
量化和移除重复点单元202可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性转换合并到一个云中。在本申请的一些实施例中,量化和移除重复点单元202为可选的单元模块。
八叉树分析单元203可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。
几何重建单元204可以基于八叉树分析单元203输出的位置信息进行位置重建,得到点云数据中各点的位置信息的重建值。
第一算术编码单元205可以采用熵编码方式对八叉树分析单元203输出的位置信息进行算术编码,即将八叉树分析单元203输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
颜色空间转换(Transform colors)单元210、属性转化(Transfer attributes)单元211、区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)单元212、预测变化(predicting transform)单元213以及提升变化(lifting transform)单元214、量化系数(Quantize coefficients)单元215以及第二算术编码单元216。
需要说明的是,点云编码器200可包含比图2更多、更少或不同的功能组件。
颜色空间转换单元210可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。
属性转化单元211可用于转换点云中点的属性信息,以最小化属性失真。例如,属性转化单元211可用于得到点的属性信息的原始值。例如,所述属性信息可以是点的颜色信息。
经过属性转化单元211转换得到点的属性信息的原始值后,可选择任一种预测单元,对点云中的点进行预测。预测单元可包括:RAHT 212、预测变化(predicting transform)单元213以及提升变化(lifting transform)单元214。
换言之,RAHT 212、预测变化(predicting transform)单元213以及提升变化(lifting transform)单元214中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的原始值减去点的属性信息的预测值。
在本申请的一实施例中,预测变换单元213还可用于生成细节层(level of detail,LOD)。LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的细节表达层。在一个实施例中,可以将欧式距离进行排 序后,将不同范围的欧式距离划分为不同的细节表达层。例如,可以随机挑选一个点,作为第一细节表达层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二细节表达层。获取第二细节表达层中点的质心,计算除第一、第二细节表达层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三细节表达层。以此类推,将所有的点都归到细节表达层中。通过调整欧式距离的阈值,可以使得每层LOD层的点的数量是递增的。应理解,LOD划分的方式还可以采用其它方式,本申请对此不进行限制。
需要说明的是,可以直接将点云划分为一个或多个细节表达层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。
例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个细节表达层,每个细节表达层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行细节表达层的划分。
量化单元215可用于量化点的属性信息的残差值。例如,若所述量化单元215和所述预测变换单元213相连,则所述量化单元可用于量化所述预测变换单元213输出的点的属性信息的残差值。
例如,对预测变换单元213输出的点的属性信息的残差值使用量化步长进行量化,以实现提升系统性能。
第二算术编码单元216可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息。
图3是本申请实施例提供的解码器300的示意性框图。
如图3所示,解码框架300可以从编码设备获取点云码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择如下RAHT、预测变化和提升变化三种预测模式中的一种进行点云预测,得到预测值,预测值与残差值相加得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
如图3所示,位置解码可通过以下单元实现:
第一算数解码单元301、八叉树分析(synthesize octree)单元302、几何重建(Reconstruct geometry)单元304以及坐标反转换(inverse transform coordinates)单元305。
属性编码可通过以下单元实现:
第二算数解码单元310、反量化(inverse quantize)单元311、RAHT单元312、预测变化(predicting transform)单元313、提升变化(lifting transform)单元314以及颜色 空间反转换(inverse trasform colors)单元315。
需要说明的是,解压缩是压缩的逆过程,类似的,解码器300中的各个单元的功能可参见编码器200中相应的单元的功能。另外,点云解码器300可包含比图3更多、更少或不同的功能组件。
例如,解码器300可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LOD中点的最邻近点,并利用当前点的重建值对后续点的属性信息进行预测。
由上述图2可知,点云编码器200从功能上主要包括了两部分:位置编码模块和属性编码模块,其中位置编码模块用于实现点云的位置信息的编码,形成几何码流,属性编码模块用于实现点云的属性信息的编码,形成属性码流。本申请主要涉及属性信息的编码,下面结合图4,对本申请涉及的点云编码器中的属性编码模块进行介绍。
图4为本申请实施例涉及的属性编码模块400的部分框图,该属性编码模块400可以理解为是上述图2所示的点云编码器200中用于实现属性信息编码的单元。如图4所示,该属性编码模块400包括:预处理单元410、残差单元420、量化单元430、预测单元440、反量化单元450、重建单元460、滤波单元470、解码缓存单元480和编码单元490。需要说明的是,属性编码模块400还可包含更多、更少或不同的功能组件。
在一些实施例中,预处理单元410可以包括图2所示的颜色空间转换单元210、属性转化单元211。
在一些实施例中,量化单元430可以理解为上述图2中的量化系数单元215,编码单元490可以理解为上述图2中的第二算数编码单元216。
在一些实施例中,预测单元440可以包括图2所示的RAHT 212、预测变化单元213以及提升变化单元214。预测单元440具体用于获得点云中点的位置信息的重建信息,并基于点的位置信息的重建信息,从RAHT 212、预测变化单元213以及提升变化单元214中的任选一个对点云中点的属性信息进行预测,以得到点的属性信息的预测值。
残差单元420可基于点云中点的属性信息的原始值和属性信息的重建值,得到点云中点的属性信息的残差值,例如,点的属性信息的原始值减去属性信息的重建值,得到点的属性信息的残差中。
量化单元430可量化属性信息的残差值,具体是,量化单元430可基于与点云相关联的量化参数(QP)值来量化点的属性信息的残差值。点云编码器可通过调整与点云相关联的QP值来调整应用于点的量化程度。
反量化单元450可分别将逆量化应用于量化后的属性信息的残差值,以从量化后的属性信息的残差值重建属性信息的残差值。
重建单元460可将重建后的属性信息的残差值加到预测单元440产生的预测值中,以产生点云中点的属性信息的重建值。
滤波单元470可消除或减少重建操作中的噪声。
解码缓存单元480可存储点云中点的属性信息的重建值。预测单元440可使用点的属性信息的重建值来对其它点的属性信息进行预测。
由上述图3可知,点云解码器300从功能上主要包括了两部分:位置解码模块和属性解码模块,其中位置解码模块用于实现点云的几何码流的解码,得到点的位置信息,属性解码模块用于实现点云的属性码流的解码,得到点的属性信息。下面结合图5,对本申请涉及的点云解码器中的属性解码模块进行介绍。
图5为本申请实施例涉及的属性解码模块500的部分框图,该属性解码模块500可以理解为是上述图3所示的点云解码器300中用于实现属性码流解码的单元。如图5所示,该属性解码模块500包括:解码单元510、预测单元520、反量化单元530、重建单元540、滤波单元550及解码缓存单元560。需要说明的是,属性解码模块500可包含更多、更少或不同的功能组件。
属性解码模块500可接收属性码流。解码单元510可解析属性码流以从属性码流提取语法元素。作为解析属性码流的一部分,解码单元510可解析属性码流中的经编码后的语法元素。预测单元520、反量化单元530、重建单元540及滤波单元550可根据从属性码流中提取的语法元素来解码属性信息。
在一些实施例中,预测单元520可根据从码流解析的一个或多个语法元素来确定点的预测模式,并使用确定的预测模式对点的属性信息进行预测。
反量化单元530可逆量化(即,解量化)与点云中点相关联的量化后的属性信息的残差值,得到点的属性信息的残差值。反量化单元530可使用与点云相关联的QP值来确定量化程度。
重建单元540使用点云中点的属性信息的残差值及点云中点的属性信息的预测值以重建点云中点的属性信息。例如,重建单元540可将点云中点的属性信息的残差值加到点的属性信息的预测值,得到点的属性信息的重建值。
滤波单元550可消除或减少重建操作中的噪声。
属性解码模块500可将点云中点的属性信息的重建值存储于解码缓存单元560中。属性解码模块500可将解码缓存单元560中的属性信息的重建值作为参考点用于后续预测,或者,将属性信息的重建值传输给显示装置呈现。
点云的属性信息的编解码的基本流程如下:在编码端,对点云数据的属性信息进行预处理,得到点云中点的属性信息的原始值。预测单元410基于点云中点的位置信息的重建值,选择上述3种预测方式中的一种预测方式,对点云中点的属性信息进行预测,得到属性信息的预测值。残差单元420可基于点云中点的属性信息的原始值与属性信息的预测值,计算属性信息的残差值,即将点云中点的属性信息的原始值与属性信息的预测值的差值作为点云中点的属性信息的残差值。该残差值经由量化单元430量化,可以去除人眼不敏感的信息,以消除视觉冗余。编码单元490接收到量化单元430输出的量化后的属性信息的残差值,可对该量化后的属性信息的残差值进行编码,输出属性码流。
另外,反量化单元450也可以接收到量化单元430输出的量化后的属性信息的残差值,并对量化后的属性信息的残差值进行反量化,得到点云中点的属性信息的残差值。 重建单元460得到反量化单元450输出的点云中点的属性信息的残差值,以及预测单元410输出的点云中点的属性信息的预测值,将点云中点的属性信息的残差值和预测值进行相加,得到点的属性信息的重建值。点的属性信息的重建值经过滤波单元470滤波后缓存在解码缓存单元480中,用于后续其他点的预测过程。
在解码端,解码单元510可解析属性码流得到点云中点量化后的属性信息的残差值、预测信息、量化系数等,预测单元520基于预测信息对点云中点的属性信息进行预测产生点的属性信息的预测值。反量化单元530使用从属性码流得到的量化系数,对点的量化后的属性信息的残差值进行反量化,得到点的属性信息的残差值。重建单元440将点的属性信息的预测值和残差值相加得到点的属性信息的重建值。滤波单元550对点的属性信息的重建值进行滤波,得到解码后的属性信息。
需要说明的是,编码端属性信息编码时确定的预测、量化、编码、滤波等模式信息或者参数信息等在必要时携带在属性码流中。解码端通过解析属性码流及根据已有信息进行分析确定与编码端相同的预测、量化、编码、滤波等模式信息或者参数信息,从而保证编码端获得的属性信息的重建值和解码端获得的属性信息的重建值相同。
上述是基于G-PCC编解码框架下的点云编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本申请适用于该基于G-PCC编解码框架下的点云编解码器的基本流程,但不限于该框架及流程。
图6为一实施例的编码端预测示意图,如图6所示,包括:
S61、获得当前点的邻居点的属性信息的重建值,例如颜色值,并根据邻居点的属性信息的重建值,计算得到邻居点的颜色最大差异maxDiff。
具体的,假设当前点具有3个邻居点,分别为点1、点2和点3,其中点1的颜色值为(R1,G1,B1),点2的颜色值为(R2,G2,B2),点3的颜色值为(R3,G3,B3)。计算这3个邻居点在R分量、G分量和B分量上的最大差异,选择R、G、B分量中的最大差异值作为maxDiff。
例如,根据如下公式(1),得到上述3个邻居点对应的颜色最大差异maxDiff:
Figure PCTCN2020140248-APPB-000001
S62、将maxDiff与预设阈值threshold比较。
S63、若maxDiff小于threshold则确定当前点的目标预测模式为单预测变量模式(single-pred),采用加权平均方式对当前点进行预测,例如,将上述3个邻居点的属性信息的重建值的加权平均值作为当前点的属性信息的预测值。
S64、若maxDiff大于或等于threshold,则确定当前点的目标预测模式为多预测变量模式(multi-pred)。具体是,将3个邻居点中每个邻居点的属性信息的重建值作为一个预测变量,得到3个邻居点预测变量,另外,将3个邻居点的属性信息的重建值的加权平均值作为另一个预测变量,记为加权平均预测变量,得到图6中表格所示的3+1个预测变量,并为每个预测变量设置索引。
S65、计算3+1个预测变量中每个预测变量对应的分值,例如启用率失真优化(Rate Distortion Optimization,RDO)技术,计算3+1个预测变量中每个预测变量对应的RDO 值。
S66、将分值最小的预测变量确定为当前点的最优预测变量,并将最优预测变量的信息进行熵编码。
图7为一实施例的解码端预测示意图,如图7所示,包括:
S71、解码码流,得到当前点的邻居点的属性信息,并对邻居点的属性信息进行解码,得到邻居点的属性信息的重建值;根据邻居点的属性信息的重建值,计算得到邻居点的颜色最大差异maxDiff,具体参照上述图6中的步骤2。
S72、将maxDiff与预设阈值threshold比较。
S73、若maxDiff小于threshold则确定当前点的目标预测模式为单预测变量模式(single-pred),采用加权平均方式对当前点进行预测,例如,将上述3个邻居点的属性信息的重建值的加权平均值作为当前点的属性信息的预测值。
S74、若maxDiff大于或等于threshold,则确定当前点的目标预测模式为多预测变量模式(multi-pred)。
S75、解析码流,得到码流中携带的分值最小的预测变量的信息,并将该预测变量的信息对应的预测变量作为当前点的预测值。
由上述图6和图7可知,目前在确定当前点的属性信息的预测值时,需要计算当前点的邻居点的颜色最大差异maxDiff,并根据maxDiff判断当前点是采用单预测变量模式(single-pred)还是多预测变量模式(multi-pred)进行预测。此判断过程依赖于当前点的邻居点的属性信息的重建值,这种依赖关系使得预测模式的确定过程和属性信息的重建过程无法并行进行,进而降低点云编解码的效率。
为了解决上述技术问题,本申请通过点云中点的几何信息来确定当前点的属性信息的预测模式,这样使得预测模式的确定过程中与点云中点的属性信息的重建过程解耦,使得两个过程可以并行进行,进而提高编解码的效率。
下面结合具体的实施例对本申请一实施例提供的技术方案进行详细描述。
下面结合图8对编码端进行介绍。
图8为本申请实施例提供的点云编码方法600的一种流程示意图,本申请实施例应用于图1、图2和图4所示点云编码器。如图8所示,本申请实施例的方法包括:
S601、获取点云中当前点的几何信息和属性信息。
点云包括多个点,每个点可以包括点的几何信息和点的属性信息。其中,点的几何信息也可称为点的位置信息,点的位置信息可以是点的三维坐标信息。其中,点的属性信息可包括颜色信息和/或反射率等等。
其中,当前点可以理解为点云中当前待编码的一个点,在一些实施例中,当前点也称为目标点。
在一种示例中,当前点的属性信息可以是当前点的原始属性信息。
在另一种示例中,如图2所示,点云编码器获得当前点的原始属性信息后,对该原始属性信息进行颜色空间转换,例如将当前点的RGB色彩空间变换为YCbCr格式或其他格式。对颜色空间转换后的当前点进行属性转化,以最小化属性失真,得到当前点的 属性信息。
S602、根据当前点的几何信息,确定当前点的K个邻居点,该K为大于或等于2的正整数。
需要说明的是,点云编码器对点云中点的几何信息进行编码完成后,再对点云中点的属性信息进行编码。参照图2所示,在几何信息的编码过程中,第一算数编码单元205对八叉树单元203处理后的点的几何信息进行编码形成几何码流外,几何重建单元204对八叉树单元203处理后的点的几何信息进行重建,得到几何信息的重建值。
在一些实施例中,可以根据当前点的几何信息的重建值,从点云中已编码的点中获得当前点的K个邻居点。
例如,将点云中点的几何信息(即几何坐标)转换为莫顿码,具体是对点云中点的几何信息(x,y,z)加上一个固定值(j1,j2,j3),用新的坐标(x+j1,y+j2,z+j3)生成点的莫顿码。按照点的莫顿码对点云中的点进行排序,得到点云的莫顿顺序。根据点云的莫顿顺序,从点云中已编码的点中获得当前点的K个邻近点,其中K为大于或等于2的正整数。
S603、根据当前点的几何信息和K个邻居点的几何信息,确定当前点的属性信息的目标预测模式。
点云中点的属性信息的预测模式包括多预测变量模式(multi-pred)和单预测变量模式(single-pred)。
其中,多预测变量模式(multi-pred)包括K+1种预测变量,其中K为当前点的邻居点的个数,将K个邻居点中每个邻居点的属性信息的重建值作为一种预测变量,得到K种预测变量,该预测变量也称为邻居点预测变量。将K个邻居点的属性信息的重建值的加权平均值作为第K+1种预测变量,该预测变量也可以称为加权平均预测变量。
单预测变量模式包括一种预测变量,即K个邻居点的属性信息的重建值的加权平均值所形成的加权平均预测变量。
本申请通过当前点的几何信息和K个邻居点的几何信息,确定当前点的属性信息的目标预测模式是多预测变量模式(multi-pred)还是单预测变量模式(single-pred)。
在一些实施例中,上述S603包括S603-A1和S603-A2:
S603-A1、根据当前点的几何信息和K个邻居点的几何信息,确定K个邻居点构成的邻居点集与当前点之间的第一距离。
S603-A2、根据第一距离,确定当前点的属性信息的目标预测模式。
由于当前点与邻居点之间的距离较远时,采用单预测变量模式(single-pred)预测当前点的属性信息时,准确性低,因此本申请通过计算当前点与K个邻居点构成的邻居点集与当前点之间的第一距离,并根据该第一距离的大小来确定当前点的属性信息的目标预测模式,可以实现对当前点的属性信息的目标预测模式的准确确定,以实现对当前点的准确预测。另外,本申请通过K个邻居点构成的邻居点集与当前点之间的第一距离来确定当前点的属性信息的预测模式,这样使得预测模式的确定过程中与点云中点的属性信息的重建过程解耦,使得两个过程可以并行进行,进而提高编码效率。
上述S603-A1中确定K个邻居点构成的邻居点集与当前点之间的第一距离的方式包括但不限于如下几种:
方式一,根据K个邻居点的几何信息,确定邻居点集的几何质心的几何信息,并根据当前点的几何信息和几何质心的几何信息,确定当前点与几何质心之间的第二距离;根据第二距离,确定第一距离,例如将第二距离作为第一距离,或者对第二距离进行相应运算(例如取整运算),将运算结果作为第一距离。
举例说明,假设K为3,即当前点包括3个邻居点,记为P1、P2和P3,P1的几何信息为(x1,y1,z1),P2的几何信息为(x2,y2,z2),P3的几何信息为(x3,y3,z3)。P1、P2和P3构成的邻居点集的几何质心C的几何信息为P1、P2和P3的几何信息的平均值,即根据如下公式(2)得到几何质心C的几何信息
Figure PCTCN2020140248-APPB-000002
Figure PCTCN2020140248-APPB-000003
假设当前点P0的几何信息为(x,y,z),根据当前点P0的几何信息和几何质心C的几何信息,确定当前点P0与几何质心C之间的第二距离。
在一种示例中,当前点P0与几何质心C之间的第二距离为当前点P0与几何质心C之间的欧式距离,例如,根据如下公式(3),确定当前点P0与几何质心C之间的第二距离PmaxDiff:
Figure PCTCN2020140248-APPB-000004
例如,编码器执行如下程序,得到当前点P0与几何质心C之间的欧式距离:
Figure PCTCN2020140248-APPB-000005
在一种示例中,当前点P0与几何质心C之间的第二距离为当前点P0与几何质心C之间的曼哈顿距离,例如,根据如下公式(4),确定当前点P0与几何质心C之间的第二距离PmaxDiff:
Figure PCTCN2020140248-APPB-000006
方式二,针对K个邻居点中的每一个邻居点,根据该邻居点的几何信息和当前点的几何信息,确定该邻居点与当前点之间的第三距离;将K个邻居点中每个邻居点与当前点之间的第三距离的平均值,作为第一距离。
具体的,假设当前点P0的几何信息为(x,y,z),根据如下公式(5),确定出K个邻居点构成的邻居点集与当前点之间的第一距离QmaxDiff:
Figure PCTCN2020140248-APPB-000007
其中,(x i,y i,z i)为K个邻居点中第i个邻居点的几何信息。
根据上述方式确定出当前点与邻居点集之间的第一距离后,执行上述S603-A2,根据第一距离,确定当前点的属性信息的目标预测模式。
在一些实施例中,上述S603-A2包括如下S603-A21和S603-A22:
S603-A21、若第一距离大于或等于第一数值,则确定目标预测模式为多预测变量模式。
S603-A22、若第一距离小于第一数值,则确定目标预测模式为单预测变量模式。
本申请中,当第一距离大于或等于第一数值,说明当前点与邻居点之间的距离较远,此时采用多预测变量模式来预测当前点的属性信息,可以提高预测准确性。当第一距离小于第一数值时,说明当前点与邻居点之间的距离较近,可以采用单预测变量模式来预测当前点的属性信息,其预测过程简单。
在一种可能的实现方式中,上述第一数值为预设阈值。
在一种可能的实现方式中,点云编码器通过执行如下步骤A至步骤C来确定第一数值:
步骤A、根据点云中点的几何信息,获得点云的包围盒(bounding box),该包围盒用于包围点云。例如,包围盒可以理解为包围点云的长方体,其中包围盒的长、宽、高分别为点云中点在XYZ坐标轴上的最大值与最小值之间的差值。例如,包围盒的长为点云中的点在X轴上的最大值与最小值之间的差值,包围盒的宽为点云中点在Y轴上的最大值与最小值之间的差值,包围盒的高为点云中点在Z轴上的最大值与最小值之间的差值。也就是说,包围盒可以理解为包围点云的最小长方体,将包围盒的长宽高记为包围包的3条边。
步骤B、获得点云的包围盒的第一边的长度。该第一边可以为点云的包围盒的任意一条边长,例如第一边为包围盒的最短边,或者为包围盒的最长边。
步骤C、根据第一边的长度,确定第一数值。
上述步骤C中根据第一边的长度,确定第一数值的方式包括但不限于如下几种:
方式一,将第一边的长度与预设值的比值,确定为第一数值,该预设值可以根据实际需要进行确定。
方式二,上述步骤C包括如下步骤C1和步骤C2:
步骤C1、获取量化参数QP;
步骤C2、根据QP和第一边的长度,确定第一数值。
由于量化参数QP与当前点的目标预测模式的选择有关,例如,QP值较大时,使用多预测变量模式对当前点进行属性预测时,其预测效果不好,在该情况下,通常使用单预测变量模式来预测当前点的属性信息。基于此,本申请通过QP和第一边的长度,来确定第一数值,使得确定后的第一数值与QP相关,这样在后续基于第一数值确定当前点的目标预测模式时,可以考虑到QP的影响,进而提高目标预测模式的确定准确性。
上述步骤C2中根据QP和第一边的长度,确定第一数值的方式包括但不限于如下几种:
第一种方式,将第一边的长度与QP的比值,作为第一数值。
例如,根据如下公式(6),确定第一数值:
geometryThreshold=minimumbBoxLength÷QP (6)
其中,geometryThreshold为第一数值,minimumbBoxLength为第一边的长度,上述公式(6)示出了第一边为包围盒的最短边。
第二种方式,获得第一边的长度与第一预设值的第一比值;获得QP与第二预设值的第二比值;根据第一比值与第二比值,确定第一数值。例如,将第一比值向左移位第二比值取整后的位数,得到第一数值。
在一种示例中,根据如下公式(7),确定第一数值:
Figure PCTCN2020140248-APPB-000008
其中,T1为第一预设值,T2为第二预设值,
Figure PCTCN2020140248-APPB-000009
为QP除以第二预设值T2并向上取整,“<<”为向左移位,其中向左移动1位相当于乘以2。
在另一种示例中,根据如下公式(8),确定第一数值:
Figure PCTCN2020140248-APPB-000010
其中,2 T3等于第一预设值T1,例如,T1为64,则T3为6,“>>”表示向右移位,其中向右移动1位相当于除以2。
可选的,上述第一预设值T1大于第二预设值T2。
可选的,第二预设值T2=6。
可选的,若第一边为包围盒的最短边,则第一预设值为64。
可选的,若第一边为包围盒的最长边,则第一预设值为128。
本申请通过上述方法确定出第一数值后,将该第一数值与当前点与邻居点集之间的第一距离进行比较,若第一距离大于或等于该第一数值,则确定当前点的目标预测模式为多预测变量模式,若第一距离小于第一数值,则确定当前点的目标预测模式为单预测变量模式。接着,执行如下S604。
S604、使用目标预测模式对当前点的属性信息进行预测,得到当前点的属性信息的预测值。
S605、根据当前点的属性信息的预测值,得到当前点的属性信息的残差值。例如,将当前点的属性信息的原始值与预测值的差值,作为当前点的属性信息的残差值。
S606、对当前点的属性信息的残差值进行编码,得到点云码流。
上述S604包括如下两种情况:
情况1,若上述确定的当前点的目标预测模式为多预测变量模式,则上述S604包括如下S604-A1至S604-A5:
S604-A1、获得K个邻居点的属性信息的重建值;
S604-A2、将述K个邻居点的属性信息的重建值作为K个预测变量;
S604-A3、将K个邻居点的属性信息的重建值的加权平均值作为第K+1个预测变量;
S604-A4、确定K+1个预测变量中每个预测变量的率失真优化RDO值;
S604-A5、将RDO值最小的预测变量作为当前点的属性信息的预测值。
举例说明,假设K=3,即当前点包括3个邻居点,分别为P1、P2和P3,这3个邻居点均为已编码的点,如图4所示其属性信息的重建值存放在解码缓存单元480中,点云编码器可以从解码缓存单元480中获得该3个邻居点的属性信息的重建值,用于当前点的属性信息的预测。例如,将这3个邻居点中每一个邻居点的属性信息的重建值作为当前点的一个预测变量,得到3个预测变量。另外,将3个邻居点的属性信息的重建值的平均值作为当前点的另一个预测变量,这样当前点共有3+1个预测变量,如表1所示:
表1
索引(index) 预测变量(prediction type)
0 加权平均值(weighted average)
1 第一邻居点(1 st neighbour)
2 第二邻居点(2 nd neighbour)
3 第三邻居点(3 rd neighbour)
由表1可知,上述3+1个预测变量对应3+1种预测模式,其中,第一种预测模式为第一邻居点的属性信息的重建值,即第1预测变量对应的预测模式,其索引为1;第二种预测模式为第二邻居点的属性信息的重建值,即第2预测变量对应的预测模式,其索引为2;第三种预测模式为第三邻居点的属性信息的重建值,即第3预测变量对应的预测模式,其索引为3。第四种预测模式为3个邻居点的属性信息的重建值的平均值,即第4预测变量对应的预测模式,其索引为0。其中第一邻居点为上述3个邻居点中距离当前点最近的邻居点,第二邻居点为3个邻居点中距离当前点的距离仅次第一邻居点的一个点,第三邻居点为3个邻居点中距离当前点最远的一个点。
计算上述3+1个预测变量中每个预测变量对应的率失真优化(RDO)值,将率失真优化值最小的预测变量作为该当前点的属性信息的预测值,例如RDO最小的预测变量为点P2的属性信息的重建值。
在一种示例中,在确定RDO值时,可以将邻居点与当前点之间的距离(例如欧氏距 离)的倒数作为该邻居点的权重。
在情况1中,为了解码端快速准确地确定出当前点的预测值,则可以将上述确定的RDO值最小的预测变量对应的预测模式信息携带在点云码流中,使得解码端可以从点云码流中直接解析出该当前点对应的预测模式信息,并使用该预测模式信息指示的预测变量来确定出当前点的预测值。例如,上述确定出RDO值最小的预测变量为点P2的属性信息的重建值,其对应索引为2,可以将索引2携带在点云码流中。解码端直接可以从点云码流中解析出索引2,并使用索引2对应的点P2的属性信息的重建值对当前点的属性信息进行预测,例如将点P2的属性信息的重建值作为当前点的属性信息的预测值。
情况2,若当前点的目标预测模式为单预测变量模式,则上述S604包括如下S604-B1和S604-B2:
S604-B1、获得K个邻居点的属性信息的重建值;
S604-B2、将K个邻居点的属性信息的重建值的加权平均值,作为当前点的属性信息的预测值。
举例说明,假设K=3,即当前点包括3个邻居点,分别为P1、P2和P3,获得这3个点的属性信息的重建值,将这3个邻居点的属性信息的重建值的加权平均值作为当前点的属性信息的预测值。
在一种示例中,在确定重建值的加权平均值时,可以将邻居点与当前点之间的距离(例如欧氏距离)的倒数作为该邻居点的权重。
若当前点的目标预测模式为单预测变量模式时,如表2所示,预测变量包括加权平均值,其对应的索引可以空白:
表2
索引(index) 预测变量(prediction type)
- 加权平均值(weighted average)
也就是说,若当前点的目标预测模式为单预测变量模式时,可以在点云码流中不携带当前点对应的预测模式信息。这样解码端在点云码流中解析不出当前点对应的预测模式信息时,则默认当前点在编码端的目标预测模式为单预测变量模式,进而解码端也使用单预测变量模式来预测当前点的属性信息,进而保证解码端与编码端的一致性。
在一具体的实施例中,如图9所示,编码端的预测过程600a包括:
S600-1、计算当前点与3个邻居点构成的邻居点集之间的第一距离,需要说明的是,本申请以3个邻居点为例进行说明,当前点的邻居点数量包括但不限于3个,还可以是2个、4个或5个等,本申请对此不做限制。
S600-2、判断第一距离是否大于或等于第一数值,若第一距离大于或等于第一数值,则执行S600-3,若第一距离小于第一数值,则执行S600-4。
S600-3,确定当前点的目标预测模式为多预测变量模式(Multi-pred);
S600-4、计算每个预测变量对应的RDO值。具体是,首先计算索引0对应的加权平均预测变量对应的ROD值,判断当前索引是否为最后一个索引,若否,则循环索引,计 算下一个索引对应的预测变量对应的ROD值,直到最后一个索引为止。这样通过循环可以计算出每一个预测变量对应的RDO值。
S600-5、选择RDO值最小的预测变量作为当前点的属性信息的预测值,执行S600-7。
S600-6、确定当前点的单预测变量模式(Multi-pred),将邻居点的属性信息的加权平均值作为当前点的属性信息的预测值,执行S600-7。
S600-7、结束。
在此,将图9所示的本申请预测过程与上述图6所示的已有技术的预测过程相比,本申请根据当前点的几何信息和邻居点的几何信息,确定当前点与邻居点集之间的第一距离。将第一距离与第一数值进行比较,判断是使用多预测变量模式(Multi-pred)还是单预测变量模式(Multi-pred)来进行当前点的属性信息的预测,使得当前点的预测模式的选择过程与点云中点的几何信息相关,而与邻居点的属性信息的重建过程解耦,进而使得预测模式的选择过程和属性信息的重建过程可以并行进行,从而提高编码的效率。
图10为本申请实施例提供的点云编码方法700的一种流程示示意图,在上述实施例的基础上,如图10所示,本申请实施例的方法包括:
S701、获取点云中当前点的几何信息和属性信息。
S702、根据当前点的几何信息,确定当前点的K个邻居点,K为大于或等于2的正整数。
上述S701与S702的具体实现过程可以参照上述S601和S602的描述,在此不再赘述。
S703、根据当前点的几何信息和K个邻居点的几何信息,确定K个邻居点构成的邻居点集与当前点之间的第一距离,具有实现过程参照上述S603-A1的相关描述,在此不再赘述。
S704、确定第一数值,具体参照上述S603-A22的描述,例如,根据点云中点的几何信息,获得点云的包围盒(bounding box),获得点云的包围盒的第一边的长度,并根据第一边的长度和量化参数QP,确定第一数值。
需要说明的是,上述S703与上述S704的执行过程没有先后顺序,S704可以在上述S703之前执行,或者在S703之后执行,或者与上述S703同时执行,本申请对此不做限制。
S705、判断第一距离是否大于或等于第一数值,若第一距离大于或等于第一数值,则执行S707,若第一距离小于第一数值,则执行S706。
S706、若第一距离小于第一数值,根据K个邻居点的属性信息的重建值,使用单预测变量模式对当前点的属性信息进行预测,得到当前点的属性信息的预测值。例如,将K个邻居点的属性信息的重建值的平均值作为当前点的属性信息的预测值。
S707、若第一距离大于或等于第一数值,根据K个邻居点的属性信息的重建值,使用多预测变量模式对当前点的属性信息进行预测,得到当前点的属性信息的预测值。例如,计算K+1个预测变量对应的RDO值,选择RDO值最小的预测变量作为当前点的属性信息的预测值。
S708、根据当前点的属性信息和预测值,得到当前点的属性信息的残差值。
S709、对当前点的属性信息的残差值进行编码,得到点云码流,若当前点的目标预测模式为多预测变量模式时,点云码流中包括该当前点的属性信息的残差值以及RDO值最小的预测变量对应的预测模式信息。可选的,该预测模式信息位于残差值后面。
为了进一步说明本申请的技术效果,将本申请的技术方案在G-PCC参考软件TMC13V11.0上实现后,在通用测试配置CTC CY测试条件下对运动图象专家组(MPEG)要求的部分点云测试集(cat1-A和cat1-B)进行测试,测试结果如表1所示:
表3
Figure PCTCN2020140248-APPB-000011
其中,CY_ai为测试条件,表示几何无损、属性接近无损的测试条件,cat1-A点云测试集中的点包括颜色属性信息和其他属性信息,例如反射率属性信息,cat1-B点云测试集中的点仅包括颜色属性信息。BD-AttrRate是评价视频编码算法性能的主要参数之一,表示新算法(即本申请技术方案)编码的视频相对于原来的算法在码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)上的变化情况,即新算法与原有算法在相同信噪比情况下码率的变化情况。如表1所示,对于cat1-A点云测试集,采用本申请的技术方案相比于原有技术,其中亮度分量上码率仅增加了1.4%,色度分量Cb上码率仅增加了1.4%,色度分量Cr上码率仅增加了1.4%。“平均值”表示cat1-A点云测试集和cat1-B点云测试集的码率变化的平均值。
由上述表1可知,本申请的技术方案以较小的性能失真代价解决了现有技术中预测模式的确定与属性信息的重建无法解耦的问题。
上文对本申请实施例涉及的点云编码方法进行了描述,在此基础上,下面针对解码端,对本申请涉及的点云解码方法进行描述。
图11为本申请实施例提供的点云解码方法800的一种流程示意图,如图11所示,本申请实施例的方法包括:
S801、解码点云码流,获取点云中当前点的几何信息和属性信。
需要说明的是,点云中点的几何信息的解码完成后,执行属性信息的解码。在对几何码流解码完成后,可以得到点云中点的几何信息。
点云码流包括属性码流和几何码流,解码几何码流可以得到当前点的几何信息,解码属性码流可以得到当前点的属性信息。
S802、根据当前点的几何信息,确定当前点的K个邻居点,该K为大于或等于2的正整数。
具体是,根据当前点的几何信息,从点云中属性信息已解码的点中获得距离当前点最近的K个邻居点。上述S802的具体实现过程可以参照上述S602的描述,在此不再赘述。
S803、根据当前点的几何信息和K个邻居点的几何信息,确定当前点的属性信息的 目标预测模式。
在一些实施例中,上述S803包括如下S803-A1和S803-A2:
S803-A1、根据当前点的几何信息和K个邻居点的几何信息,确定K个邻居点构成的邻居点集与当前点之间的第一距离。
S803-A2、根据第一距离,确定当前点的属性信息的目标预测模式。
上述S803-A1中根据当前点的几何信息和K个邻居点的几何信息,确定K个邻居点构成的邻居点集与当前点之间的第一距离的方式包括但不限于如下几种:
方式一,上述S803-A1包括S803-A11和S803-A12:
S803-A11、根据K个邻居点的几何信息,确定邻居点集的几何质心的几何信息;
S803-A12、根据当前点的几何信息和几何质心的几何信息,确定当前点与几何质心之间的第二距离;
例如,当前点与几何质心之间的第二距离为当前点与几何质心的欧式距离。
例如,当前点与几何质心之间的第二距离为当前点与几何质心的曼哈顿距离。
S803-A13、根据第二距离,确定第一距离。例如,将第二距离作为第一距离。
方式二,上述S803-A1包括S803-A13和S803-A14:
S803-A13、针对K个邻居点中的每一个邻居点,根据邻居点的几何信息和当前点的几何信息,确定邻居点与当前点之间的第三距离;
S803-A14、将K个邻居点中每个邻居点与当前点之间的第三距离的平均值,作为第一距离。
在一些实施例中,上述S803-A2包括S803-A21和S803-A22:
S803-A21、若第一距离大于或等于第一数值,则确定目标预测模式为多预测变量模式。
S803-A21、若第一距离小于第一数值,则确定目标预测模式为单预测变量模式。
在一种示例中,上述第一数值为预设值。
在另一种示例中,点云解码器执行如下步骤D1至步骤D4,确定第一数值:
步骤D1、解码点云码流,获得点云中点的几何信息,具体是,解码点云的几何码流,得到点云中点的几何信息。
步骤D2、根据点云中点的几何信息,获得点云的包围盒,该包围盒用于包围该点云,例如包围盒可以理解为包围该点云的最小长方体。
步骤D3、获得点云的包围盒的第一边的长度,其中第一边为包围盒的任意一边,例如为包围盒最短边,或者为包围盒的最长边。
步骤D4、根据第一边的长度,确定第一数值。
在一些实施例中,上述步骤D4中根据第一边的长度,确定第一数值包括如下步骤D41和步骤D42:
步骤D41、解码点云码流,获取量化参数QP;需要说明的是,编码端将QP编码在属性参数集之中,该参数集会编码进点云码流之中,解码端通过解码属性参数集获取QP。
步骤D42、根据QP和第一边的长度,确定第一数值。
上述步骤D42中根据QP和第一边的长度,确定第一数值的实现方式包括但不限于如下几种:
方式一,将第一边的长度与QP的比值,作为第一数值。
方式二,获得第一边的长度与第一预设值的第一比值;获得QP与第二预设值的第二比值;根据第一比值与第二比值,确定第一数值。例如将第一比值向左移位第二比值取整后的位数,得到第一数值。
在一种示例中,根据如下公式,确定第一数值:
Figure PCTCN2020140248-APPB-000012
其中,geometryThreshold为第一数值,minimumbBoxLength为第一边的长度,T1为第一预设值,T2为第二预设值,
Figure PCTCN2020140248-APPB-000013
为QP与第二预设值T2向上取整。
在一种示例中,根据如下公式,确定第一数值:
Figure PCTCN2020140248-APPB-000014
其中,2 T3等于第一预设值T1。
可选的,第一预设值T1大于第二预设值T2。
可选的,第二预设值T2=6。
可选的,若第一边为包围盒的最短边,则第一预设值为64。
可选的,若第一边为包围盒的最长边,则第一预设值为128。
S804、使用目标预测模式对当前点的属性信息进行预测,得到当前点的属性信息的预测值。
本申请若确定当前点的目标预测模式为多预测变量模式时,则从点云码流中解析当前点对应的预测模式信息。若确定当前点的目标预测模式为单预测变量模式时,则不从点云码流中解析当前点对应的预测模式信息,而是默认使用单预测变量模式来预测当前点的属性信息的预测值。具体包括如下两种情况:
情况1,若目标预测模式为多预测变量模式,则上述S804包括如下S804-A1至S804-A3:
S804-A1、解码点云码流,得到当前点的属性信息的预测模式信息;
S804-A2、获得K个邻居点中预测模式信息对应的目标邻居点的属性信息的重建值;
S804-A3、将目标邻居点的属性信息的重建值作为当前点的属性信息的预测值。
由上述编码端的技术方案可知,在确定当前点的目标预测模式为多预测变量模式时,将ROD值最小的预测变量对应的预测模式信息携带在属性码流中发送给解码端。
解码端首先解析点云的几何码流,得到点云中各点的几何信息,并根据点云中点的几何信息,获得距离当前点最近的K个邻居点。根据K个邻居点的几何信息和当前点的几何信息,获得当前点与K个邻居点构成的邻居点集之间的第一距离。若第一距离大于或等于第一数值,则确定当前点的目标预测模式为多预测变量模式,此时,解码端解码点云的属性码流,得到属性码流中携带的当前点的属性信息的预测模式信息,该预测模式信息可以为上述表1中的索引值,例如预测模式信息包括的索引值为2,则表示在编码 端将第二邻居点P2的属性信息的重建值作为当前点的属性信息的预测值,为了便于描述,此处将第二邻居点P2记为目标邻居点。基于此,解码端从解码的点云中得到该预测模式信息对应的目标邻居点P2的属性信息的重建值,并将目标邻居点的属性信息的重建值作为当前点的属性信息的预测值。
需要说明的是,当前点的属性信息的预测模式信息和当前点的属性信息的残差值联合编码,例如预测模式信息位于残差值的后面,这样在解码码流,得到当前点的残差值时,可以获得当前点的预测模式信息。
情况2,若目标预测模式为单预测变量模式,则上述S804包括如下S804-B1至S804-B2:
S804-B1、获得K个邻居点的属性信息的重建值;
S804-B2、将K个邻居点的属性信息的重建值的加权平均值,作为目标点的属性信息的预测值。
上述K个邻居点为点云中与解码的点,如图5所示,解码后的点的属性信息的重建值存放在解码缓存单元560中,解码器可以从解码缓存单元560中获得K个邻居点的属性信息的重建值。将K个邻居点的属性信息的重建值的加权平均值,作为目标点的属性信息的预测值。
在一种示例中,在确定重建值的加权平均值时,将邻居点与当前点之间的距离(例如欧式距离)的倒数作为该邻居点的权重。
在一种具体的实施例中,如图12所示,解码端的预测过程800a包括:
S800-1、获得当前点与3个邻居点构成的邻居点集之间的第一距离
S800-2、判断第一距离是否大于或等于第一数值,若第一距离大于或等于第一数值,则执行S800-3,若第一距离小于第一数值,则执行S800-5。
S800-3,确定当前点的目标预测模式为多预测变量模式(Multi-pred);
S800-4,解码点云码流,得到当前点的属性信息的预测模式信息,将预测模式信息对应的目标邻居点的属性信息的重建值,作为当前点的属性信息的重建值。
S800-5,确定当前点的目标预测模式为单预测变量模式(single-pred),将加权预测变量(即K个邻居点的属性信息的重建值的加权平均值)作为当前点的属性信息的重建值。
在此,将图12所示的本申请预测过程与上述图7所示的已有技术的预测过程相比,本申请根据当前点的几何信息和邻居点的几何信息,确定当前点与邻居点集之间的第一距离,将第一距离与第一数值进行比较,判断是使用多预测变量模式(Multi-pred)还是单预测变量模式(single-pred)来进行当前点的属性信息的预测,若判断使用多预测变量模式(Multi-pred)时,从点云码流中得到预测模式信息,若判断使用单预测变量模式(single-pred)时,则不从点云码流中得到预测模式信息。这样使得当前点的预测模式的选择过程与点云中点的几何信息相关,而与邻居点的属性信息的重建过程解耦,进而使得预测模式的选择过程和属性信息的重建过程可以并行进行,从而提高解码的效率。
图13为本申请实施例提供的点云解码方法900的一种流程示意图,如图13所示,本申请实施例的方法包括:
S901、解码点云码流,获取点云中当前点的几何信息和属性信。
S902、根据当前点的几何信息,确定当前点的K个邻居点,该K为大于或等于2的正整数。
S903、根据当前点的几何信息和K个邻居点的几何信息,确定K个邻居点构成的邻居点集与当前点之间的第一距离。
S904、确定第一数值。具体参照上述S803-A21的描述,例如,根据点云中点的几何信息,获得点云的包围盒(bounding box),获得点云的包围盒的第一边的长度,并根据第一边的长度和量化参数QP,确定第一数值。
需要说明的是,上述S903与上述S904的执行过程没有先后顺序,S904可以在上述S903之前执行,或者在S903之后执行,或者与上述S903同时执行,本申请对此不做限制。
S905、判断第一距离是否大于或等于第一数值,若第一距离大于或等于第一数值,则执行S907,若第一距离小于第一数值,则执行S906。
S906、若第一距离小于第一数值,根据K个邻居点的属性信息的重建值,使用单预测变量模式对当前点的属性信息进行预测,得到当前点的属性信息的预测值。例如,将K个邻居点的属性信息的重建值的平均值作为当前点的属性信息的预测值。
S907、若第一距离大于或等于第一数值,解码点云码流,得到点云码流携带的当前点的属性信息预测模式信息。
S908、获得K个邻居点中预测模式信息对应的目标邻居点的属性信息的重建值,并将目标邻居点的属性信息的重建值作为当前点的属性信息的预测值。
S909、解码点云码流,得到当前点的属性信息的残差值,根据当前点的属性信息的残差值和预测值,得到当前点的属性信息的重建值。例如,将当前点的属性信息的预测值与残差值相加,得到当前点的属性信息的重建值。
应理解,图8至图13仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。另外,本申请实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上文结合图8至图13,详细描述了本申请的方法实施例,下文结合图14至图16,详细描述本申请的装置实施例。
图14是本申请实施例提供的点云编码器10的示意性框图。
如图14所示,点云编码器10包括:
获取单元11,用于获取点云中当前点的几何信息和属性信息;
邻居点确定单元12,用于根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
预测模式确定单元13,用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
编码单元14,用于使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值,并根据所述当前点的属性信息的预测值,得到所述当前点的属性信息的残差值,并对所述当前点的属性信息的残差值进行编码,生成点云码流。
在一些实施例中,预测模式确定单元13,具体用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离;根据所述第一距离,确定所述当前点的属性信息的目标预测模式。
在一些实施例中,预测模式确定单元13,具体用于若所述第一距离大于或等于第一数值,则确定所述目标预测模式为多预测变量模式;若所述第一距离小于所述第一数值,则确定所述目标预测模式为单预测变量模式。
在一些实施例中,编码单元14,具体用于若所述目标预测模式为多预测变量模式,获得所述K个邻居点的属性信息的重建值;将所述述K个邻居点的属性信息的重建值作为K个预测变量;将所述K个邻居点的属性信息的重建值的加权平均值作为第K+1个预测变量;确定K+1个预测变量中每个预测变量的率失真优化RDO值;将RDO值最小的预测变量作为所述当前点的属性信息的预测值。
在一些实施例中,所述点云码流包括所述RDO值最小的预测变量对应的预测模式信息。
在一些实施例中,预测模式确定单元13,具体用于若所述目标预测模式为单预测变量模式,获得所述K个邻居点的属性信息的重建值;将所述K个邻居点的属性信息的重建值的加权平均值,作为所述当前点的属性信息的预测值。
在一些实施例中,编码单元14,还用于根据点云中点的几何信息,获得所述点云的包围盒,所述包围盒用于包围所述点云;获得所述点云的包围盒的第一边的长度;根据所述第一边的长度,确定所述第一数值。
在一些实施例中,编码单元14,具体用于获取量化参数QP;根据所述QP和所述第一边的长度,确定所述第一数值。
在一些实施例中,编码单元14,具体用于将所述第一边的长度与所述QP的比值,作为所述第一数值。
在一些实施例中,编码单元14,具体用于获得所述第一边的长度与第一预设值的第一比值;获得所述QP与第二预设值的第二比值;根据所述第一比值与所述第二比值, 确定所述第一数值。
在一些实施例中,编码单元14,具体用于将所述第一比值向左移位所述第二比值取整后的位数,得到所述第一数值。
在一些实施例中,编码单元14,具体用于根据如下公式,确定所述第一数值:
Figure PCTCN2020140248-APPB-000015
其中,geometryThreshold为第一数值,所述minimumbBoxLength为所述第一边的长度,2 T3等于所述第一预设值T1,所述
Figure PCTCN2020140248-APPB-000016
为所述QP与所述第二预设值T2向上取整。
可选的,所述第一预设值T1大于所述第二预设值T2。
可选的,所述第二预设值T2=6。
可选的,若所述第一边为所述包围盒的最短边,则所述第一预设值为64。
可选的,若所述第一边为所述包围盒的最长边,则所述第一预设值为128。
在一些实施例中,预测模式确定单元13,具体用于根据所述K个邻居点的几何信息,确定所述邻居点集的几何质心的几何信息;根据所述当前点的几何信息和所述几何质心的几何信息,确定所述当前点与所述几何质心之间的第二距离;根据所述第二距离,确定所述第一距离。
在一些实施例中,预测模式确定单元13,具体用于将所述第二距离作为所述第一距离。
在一种示例中,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心的欧式距离。
在另一种示例中,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心的曼哈顿距离。
在一些实施例中,预测模式确定单元13,具体用于针对所述K个邻居点中的每一个邻居点,根据所述邻居点的几何信息和所述当前点的几何信息,确定所述邻居点与所述当前点之间的第三距离;将所述K个邻居点中每个所述邻居点与所述当前点之间的第三距离的平均值,作为所述第一距离。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图14所示的点云编码器10可以执行本申请实施例的方法,并且点云编码器10中的各个单元的前述和其它操作和/或功能分别为了实现方法600和700等各个方法中的相应流程,为了简洁,在此不再赘述。
图15是本申请实施例提供的点云解码器20的示意性框图。
如图15所示,该点云解码器20可包括:
解码单元21,用于解码点云码流,获取点云中当前点的几何信息和属性信息;
邻居点确定单元22,用于根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
预测模式确定单元23,用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
解析单元24,用于使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值。
在一些实施例中,预测模式确定单元23,具体用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离;根据所述第一距离,确定所述当前点的属性信息的目标预测模式。
在一些实施例中,预测模式确定单元23,具体用于若所述第一距离大于或等于第一数值,则确定所述目标预测模式为多预测变量模式;若所述第一距离小于所述第一数值,则确定所述目标预测模式为单预测变量模式。
在一些实施例中,解析单元24,具体用于若所述目标预测模式为多预测变量模式解码所述点云码流,得到所述当前点的属性信息的预测模式信息;获得所述K个邻居点中所述预测模式信息对应的目标邻居点的属性信息的重建值;将所述目标邻居点的属性信息的重建值作为所述所述当前点的属性信息的预测值。
在一些实施例中,解析单元24,具体用于若所述目标预测模式为单预测变量模式,获得所述K个邻居点的属性信息的重建值;将所述K个邻居点的属性信息的重建值的加权平均值,作为所述目标点的属性信息的预测值。
在一些实施例中,解析单元24,还用于解码所述点云码流,获得点云中点的几何信息;根据点云中点的几何信息,获得所述点云的包围盒,所述包围盒用于包围所述点云;获得所述点云的包围盒的第一边的长度;根据所述第一边的长度,确定所述第一数值。
在一些实施例中,解析单元24,具体用于解码所述点云码流,获取量化参数QP;根据所述QP和所述第一边的长度,确定所述第一数值。
在一些实施例中,解析单元24,具体用于将所述第一边的长度与所述QP的比值,作为所述第一数值。
在一些实施例中,解析单元24,具体用于获得所述第一边的长度与第一预设值的第一比值;获得所述QP与第二预设值的第二比值;根据所述第一比值与所述第二比值,确定所述第一数值。
在一些实施例中,解析单元24,具体用于将所述第一比值向左移位所述第二比值取整后的位数,得到所述第一数值。
在一些实施例中,解析单元24,具体用于根据如下公式,确定所述第一数值:
Figure PCTCN2020140248-APPB-000017
其中,geometryThreshold为第一数值,所述minimumbBoxLength为所述第一边的长度,2 T3等于所述第一预设值T1,所述
Figure PCTCN2020140248-APPB-000018
为所述QP与所述第二预设值T2向上取整。
可选的,所述第一预设值T1大于所述第二预设值T2。
可选的,所述第二预设值T2=6。
可选的,若所述第一边为所述包围盒的最短边,则所述第一预设值为64。
可选的,若所述第一边为所述包围盒的最长边,则所述第一预设值为128。
在一些实施例中,预测模式确定单元23,具体用于根据所述K个邻居点的几何信息,确定所述邻居点集的几何质心的几何信息;根据所述当前点的几何信息和所述几何质心 的几何信息,确定所述当前点与所述几何质心之间的第二距离;根据所述第二距离,确定所述第一距离。
在一些实施例中,预测模式确定单元23,具体用于将所述第二距离作为所述第一距离。
在一种示例中,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心之间的欧式距离。
在另一种示例中,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心之间的曼哈顿距离。
在一些实施例中,预测模式确定单元23,具体用于针对所述K个邻居点中的每一个邻居点,根据所述邻居点的几何信息和所述当前点的几何信息,确定所述邻居点与所述当前点之间的第三距离;将所述K个邻居点中每个所述邻居点与所述当前点之间的第三距离的平均值,作为所述第一距离。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图15所示的点云解码器20可以对应于执行本申请实施例的方法800和/或900中的相应主体,并且点云解码器20中的各个单元的前述和其它操作和/或功能分别为了实现方法800和/或900等各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能单元的角度描述了本申请实施例的装置和系统。应理解,该功能单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件单元组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。可选地,软件单元可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图16是本申请实施例提供的电子设备30的示意性框图。
如图16所示,该电子设备30可以为本申请实施例所述的点云编码器,或者点云解码器,该电子设备30可包括:
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器33包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该电子设备30中的执行过程。
如图16所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器33。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
图17是本申请实施例提供的点云编解码系统40的示意性框图。
如图17所示,该点云编解码系统40可包括:点云编码器41和点云解码器42,其中点云编码器41用于执行本申请实施例涉及的点云编码方法,点云解码器42用于执行本申请实施例涉及的点云解码方法。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、 数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字点云光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (47)

  1. 一种点云编码方法,其特征在于,包括:
    获取点云中当前点的几何信息和属性信息;
    根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
    根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
    使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值;
    根据所述当前点的属性信息的预测值,得到所述当前点的属性信息的残差值;
    对所述当前点的属性信息的残差值进行编码,生成点云码流。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式,包括:
    根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离;
    根据所述第一距离,确定所述当前点的属性信息的目标预测模式。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述第一距离,确定所述当前点的属性信息的目标预测模式,包括:
    若所述第一距离大于或等于第一数值,则确定所述目标预测模式为多预测变量模式;
    若所述第一距离小于所述第一数值,则确定所述目标预测模式为单预测变量模式。
  4. 根据权利要求3所述的方法,其特征在于,若所述目标预测模式为多预测变量模式,所述使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值,包括:
    获得所述K个邻居点的属性信息的重建值;
    将所述述K个邻居点的属性信息的重建值作为K个预测变量;
    将所述K个邻居点的属性信息的重建值的加权平均值作为第K+1个预测变量;
    确定K+1个预测变量中每个预测变量的率失真优化RDO值;
    将RDO值最小的预测变量作为所述当前点的属性信息的预测值。
  5. 根据权利要求4所述的方法,其特征在于,所述点云码流包括所述RDO值最小的预测变量对应的预测模式信息。
  6. 根据权利要求3所述的方法,其特征在于,若所述目标预测模式为单预测变量模式,所述使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值,包括:
    获得所述K个邻居点的属性信息的重建值;
    将所述K个邻居点的属性信息的重建值的加权平均值,作为所述当前点的属性信息的预测值。
  7. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    根据点云中点的几何信息,获得所述点云的包围盒,所述包围盒用于包围所述点云;
    获得所述点云的包围盒的第一边的长度;
    根据所述第一边的长度,确定所述第一数值。
  8. 根据权利要求7所述的方法,其特征在于,所述根据所述第一边的长度,确定所述第一数值,包括:
    获取量化参数QP;
    根据所述QP和所述第一边的长度,确定所述第一数值。
  9. 根据权利要求8所述的方法,其特征在于,所述根据所述QP和所述第一边的长度,确定所述第一数值,包括:
    将所述第一边的长度与所述QP的比值,作为所述第一数值。
  10. 根据权利要求8所述的方法,其特征在于,所述根据所述QP和所述第一边的长度,确定所述第一数值,包括:
    获得所述第一边的长度与第一预设值的第一比值;
    获得所述QP与第二预设值的第二比值;
    根据所述第一比值与所述第二比值,确定所述第一数值。
  11. 根据权利要求10所述的方法,其特征在于,所述根据所述第一比值与所述第二比值,确定所述第一数值,包括:
    将所述第一比值向左移位所述第二比值取整后的位数,得到所述第一数值。
  12. 根据权利要求10所述的方法,其特征在于,所述根据所述第一比值与所述第二比值,确定所述第一数值,包括:
    根据如下公式,确定所述第一数值:
    Figure PCTCN2020140248-APPB-100001
    其中,geometryThreshold为第一数值,所述minimumbBoxLength为所述第一边的长度,2 T3等于所述第一预设值T1,所述
    Figure PCTCN2020140248-APPB-100002
    为所述QP与所述第二预设值T2向上取整。
  13. 根据权利要求10-12任一项所述的方法,其特征在于,所述第一预设值大于所述第二预设值。
  14. 根据权利要求10-12任一项所述的方法,其特征在于,所述第二预设值为6。
  15. 根据权利要求10-12任一项所述的方法,其特征在于,若所述第一边为所述包围盒的最短边,则所述第一预设值为64。
  16. 根据权利要求10-12任一项所述的方法,其特征在于,若所述第一边为所述包围盒的最长边,则所述第一预设值为128。
  17. 根据权利要求1-12任一项所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离,包括:
    根据所述K个邻居点的几何信息,确定所述邻居点集的几何质心的几何信息;
    根据所述当前点的几何信息和所述几何质心的几何信息,确定所述当前点与所述几何质心之间的第二距离;
    根据所述第二距离,确定所述第一距离。
  18. 根据权利要求17所述的方法,其特征在于,所述根据所述第二距离,确定所述 第一距离,包括:
    将所述第二距离作为所述第一距离。
  19. 根据权利要求17所述的方法,其特征在于,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心的欧式距离。
  20. 根据权利要求17所述的方法,其特征在于,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心的曼哈顿距离。
  21. 根据权利要求1-12任一项所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离,包括:
    针对所述K个邻居点中的每一个邻居点,根据所述邻居点的几何信息和所述当前点的几何信息,确定所述邻居点与所述当前点之间的第三距离;
    将所述K个邻居点中每个所述邻居点与所述当前点之间的第三距离的平均值,作为所述第一距离。
  22. 一种点云解码方法,其特征在于,包括:
    解码点云码流,获取点云中当前点的几何信息和属性信息;
    根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
    根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
    使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值。
  23. 根据权利要求22所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式,包括:
    根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述K个邻居点构成的邻居点集与所述当前点之间的第一距离;
    根据所述第一距离,确定所述当前点的属性信息的目标预测模式。
  24. 根据权利要求23所述的方法,其特征在于,所述根据所述第一距离,确定所述当前点的属性信息的目标预测模式,包括:
    若所述第一距离大于或等于第一数值,则确定所述目标预测模式为多预测变量模式;
    若所述第一距离小于所述第一数值,则确定所述目标预测模式为单预测变量模式。
  25. 根据权利要求24所述的方法,其特征在于,若所述目标预测模式为多预测变量模式,所述使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值,包括:
    解码所述点云码流,得到所述当前点的属性信息的预测模式信息;
    获得所述K个邻居点中所述预测模式信息对应的目标邻居点的属性信息的重建值;
    将所述目标邻居点的属性信息的重建值作为所述所述当前点的属性信息的预测值。
  26. 根据权利要求24所述的方法,其特征在于,若所述目标预测模式为单预测变量模式,所述使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点 的属性信息的预测值,包括:
    获得所述K个邻居点的属性信息的重建值;
    将所述K个邻居点的属性信息的重建值的加权平均值,作为所述目标点的属性信息的预测值。
  27. 根据权利要求24所述的方法,其特征在于,所述方法还包括:
    解码所述点云码流,获得点云中点的几何信息;
    根据点云中点的几何信息,获得所述点云的包围盒,所述包围盒用于包围所述点云;
    获得所述点云的包围盒的第一边的长度;
    根据所述第一边的长度,确定所述第一数值。
  28. 根据权利要求27所述的方法,其特征在于,所述根据所述第一边的长度,确定所述第一数值,包括:
    解码所述点云码流,获取量化参数QP;
    根据所述QP和所述第一边的长度,确定所述第一数值。
  29. 根据权利要求28所述的方法,其特征在于,所述根据所述QP和所述第一边的长度,确定所述第一数值,包括:
    将所述第一边的长度与所述QP的比值,作为所述第一数值。
  30. 根据权利要求29所述的方法,其特征在于,所述根据所述QP和所述第一边的长度,确定所述第一数值,包括:
    获得所述第一边的长度与第一预设值的第一比值;
    获得所述QP与第二预设值的第二比值;
    根据所述第一比值与所述第二比值,确定所述第一数值。
  31. 根据权利要求30所述的方法,其特征在于,所述根据所述第一比值与所述第二比值,确定所述第一数值,包括:
    将所述第一比值向左移位所述第二比值取整后的位数,得到所述第一数值。
  32. 根据权利要求30所述的方法,其特征在于,所述根据所述第一比值与所述第二比值,确定所述第一数值,包括:
    根据如下公式,确定所述第一数值:
    Figure PCTCN2020140248-APPB-100003
    其中,geometryThreshold为第一数值,所述minimumbBoxLength为所述第一边的长度,2 T3等于所述第一预设值T1,所述
    Figure PCTCN2020140248-APPB-100004
    为所述QP与所述第二预设值T2向上取整。
  33. 根据权利要求30-32任一项所述的方法,其特征在于,所述第一预设值大于所述第二预设值。
  34. 根据权利要求30-32任一项所述的方法,其特征在于,所述第二预设值为6。
  35. 根据权利要求30-32任一项所述的方法,其特征在于,若所述第一边为所述包围盒的最短边,则所述第一预设值为64。
  36. 根据权利要求30-32任一项所述的方法,其特征在于,若所述第一边为所述包围盒的最长边,则所述第一预设值为128。
  37. 根据权利要求22-32任一项所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点与所述邻居点集之间的第一距离,包括:
    根据所述K个邻居点的几何信息,确定所述邻居点集的几何质心的几何信息;
    根据所述当前点的几何信息和所述几何质心的几何信息,确定所述当前点与所述几何质心之间的第二距离;
    根据所述第二距离,确定所述第一距离。
  38. 根据权利要求37所述的方法,其特征在于,所述根据所述第二距离,确定所述第一距离,包括:
    将所述第二距离作为所述第一距离。
  39. 根据权利要求37所述的方法,其特征在于,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心之间的欧式距离。
  40. 根据权利要求37所述的方法,其特征在于,所述当前点与所述几何质心之间的第二距离为所述当前点与所述几何质心之间的曼哈顿距离。
  41. 根据权利要求22-32任一项所述的方法,其特征在于,所述根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点与所述邻居点集之间的第一距离,包括:
    针对所述K个邻居点中的每一个邻居点,根据所述邻居点的几何信息和所述当前点的几何信息,确定所述邻居点与所述当前点之间的第三距离;
    将所述K个邻居点中每个所述邻居点与所述当前点之间的第三距离的平均值,作为所述第一距离。
  42. 一种点云编码器,其特征在于,包括:
    获取单元,用于获取点云中当前点的几何信息和属性信息;
    邻居点确定单元,用于根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
    预测模式确定单元,用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
    编码单元,用于使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值,并根据所述当前点的属性信息的预测值,得到所述当前点的属性信息的残差值,对所述当前点的属性信息的残差值进行编码,生成点云码流。
  43. 一种点云解码器,其特征在于,包括:
    解码单元,用于获取点云中当前点的几何信息和属性信息;
    邻居点确定单元,用于根据所述当前点的几何信息,确定所述当前点的K个邻居点,所述K为大于或等于2的正整数;
    预测模式确定单元,用于根据所述当前点的几何信息和所述K个邻居点的几何信息,确定所述当前点的属性信息的目标预测模式;
    解码单元,用于使用所述目标预测模式对所述当前点的属性信息进行预测,得到所述当前点的属性信息的预测值。
  44. 一种点云编码器,其特征在于,包括:处理器和存储器;
    所述存储器用于存储计算机程序;
    所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1至21任一项所述的点云编码方法。
  45. 一种点云解码器,其特征在于,包括:处理器和存储器;
    所述存储器用于存储计算机程序;
    所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求22至41任一项所述的点云编码方法。
  46. 一种点云编解码系统,其特征在于,包括:
    根据权利要求42或44所述的点云编码器;
    以及根据权利要求43或45所述的点云解码器。
  47. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至21任一项所述的点云编码方法,或者执行如权利要求22至41任一项所述的点云解码方法。
CN202080107001.XA 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器 Pending CN116438797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310896794.3A CN116708769A (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/140248 WO2022140937A1 (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310896794.3A Division CN116708769A (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器

Publications (1)

Publication Number Publication Date
CN116438797A true CN116438797A (zh) 2023-07-14

Family

ID=82258960

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080107001.XA Pending CN116438797A (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器
CN202310896794.3A Pending CN116708769A (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310896794.3A Pending CN116708769A (zh) 2020-12-28 2020-12-28 点云编解码方法与系统、及点云编码器与点云解码器

Country Status (5)

Country Link
US (1) US20230290012A1 (zh)
JP (1) JP2024500701A (zh)
KR (1) KR20230125782A (zh)
CN (2) CN116438797A (zh)
WO (1) WO2022140937A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010931B2 (en) * 2018-10-02 2021-05-18 Tencent America LLC Method and apparatus for video coding
WO2020197086A1 (ko) * 2019-03-25 2020-10-01 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11475604B2 (en) * 2019-03-26 2022-10-18 Tencent America LLC Method and apparatus for adaptive point cloud attribute coding
CN111145090B (zh) * 2019-11-29 2023-04-25 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备

Also Published As

Publication number Publication date
JP2024500701A (ja) 2024-01-10
KR20230125782A (ko) 2023-08-29
WO2022140937A1 (zh) 2022-07-07
US20230290012A1 (en) 2023-09-14
CN116708769A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
US11956470B2 (en) Predictor index signaling for predicting transform in geometry-based point cloud compression
US11671576B2 (en) Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding
US11232599B2 (en) Method and apparatus for inter-channel prediction and transform for point cloud attribute coding
US11601488B2 (en) Device and method for transmitting point cloud data, device and method for processing point cloud data
KR20210136082A (ko) 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치
EP4258671A1 (en) Point cloud attribute predicting method, encoder, decoder, and storage medium
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022062369A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN117242493A (zh) 点云解码、上采样及模型训练方法与装置
CN116250008A (zh) 点云的编码、解码方法、编码器、解码器以及编解码系统
CN116325732A (zh) 点云的解码、编码方法、解码器、编码器和编解码系统
CN116438797A (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN115086716B (zh) 点云中邻居点的选择方法、装置及编解码器
CN115474041B (zh) 点云属性的预测方法、装置及相关设备
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN118075464A (zh) 点云属性的预测方法、装置及编解码器
CN115733990A (zh) 点云编解码方法、设备及存储介质
CN116233467A (zh) 点云属性的编解码方法、装置、设备及存储介质
CN116783887A (zh) 点云的编码方法、解码方法、编码器以及解码器
CN117426093A (zh) 点云编解码方法、装置、点云编解码器及存储介质
CN118055254A (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