CN117710587A - 点云的解码方法、编码方法、解码器以及编码器 - Google Patents
点云的解码方法、编码方法、解码器以及编码器 Download PDFInfo
- Publication number
- CN117710587A CN117710587A CN202311874021.1A CN202311874021A CN117710587A CN 117710587 A CN117710587 A CN 117710587A CN 202311874021 A CN202311874021 A CN 202311874021A CN 117710587 A CN117710587 A CN 117710587A
- Authority
- CN
- China
- Prior art keywords
- value
- attribute information
- point
- initial
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000001914 filtration Methods 0.000 claims abstract description 59
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000013139 quantization Methods 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 43
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000009466 transformation Effects 0.000 description 14
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 239000003086 colorant Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 101000638069 Homo sapiens Transmembrane channel-like protein 2 Proteins 0.000 description 1
- 102100032054 Transmembrane channel-like protein 2 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供了一种点云的解码方法、编码方法、解码器以及编码器。所述解码方法,包括:对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;将所述初始重建值转换为初始亮度值和初始色度值;利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;根据所述目标点的属性信息的最终重建值,得到解码点云。本申请提供的方案中,通过将初始重建值转换为初始亮度值和初始色度值,并利用卡尔曼滤波算法仅对初始色度值进行滤波,能够提升点云编码的解码效果。
Description
技术领域
本申请实施例涉及点云编解码领域,并且更具体地,涉及点云的解码方法、编码方法、解码器以及编码器。
背景技术
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息***、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和颜色信息。具体而言,先通过对点云的位置信息进行八叉树编码;同时,根据八叉树编码后的位置信息对其颜色信息进行预测,再通过与原始颜色信息进行做差的方式来编码颜色信息,以实现对点云的编码。
截止目前,在对点的颜色信息进行预测的过程中,如何提升预测效果是本领域急需解决的技术问题。
发明内容
本申请实施例提供一种点云的解码方法、编码方法、解码器以及编码器,能够提升点云解码过程中的重建准确度,进而,能够提升解码效果。
一方面,提供了一种点云的解码方法,包括:
对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
将所述初始重建值转换为初始亮度值和初始色度值;
利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
根据所述目标点的属性信息的最终重建值,得到解码点云。
另一方面,提供的一种点云的编码方法,包括:
对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
另一方面,提供了一种解码器,包括:
解析单元,用于对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
转换单元,用于将所述初始重建值转换为初始亮度值和初始色度值;
滤波单元,用于利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
第一处理单元,用于基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
第二处理单元,用于根据所述目标点的属性信息的最终重建值,得到解码点云。
另一方面,提供了一种编码器,包括:
第一处理单元,用于对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
第二处理单元,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
第三处理单元,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
第四处理单元,用于根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
编码单元,用于对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
另一方面,本申请实施例提供一种点云媒体的数据处理设备,该点云媒体的数据处理设备包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述的点云媒体的数据处理方法。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述的点云媒体的数据处理方法。
本申请提供的方案中,通过将初始重建值转换为初始亮度值和初始色度值,并利用卡尔曼滤波算法仅对初始色度值进行滤波,能够提升所述目标点的属性信息的重建准确度,对点的重建过程进行了质量增强,相应的,能够提升点云编码的解码效果。此外,考虑到卡尔曼滤波算法更适用于对平稳信号的处理,而点云的亮度值的波动性较大,利用卡尔曼滤波算法仅对初始色度值进行滤波,能够提升滤波效果,进一步提升点云编码的解码效果。
附图说明
图1是本申请实施例提供的编码框架的示意性框图。
图2是本申请实施例提供的LOD层的示意性框图。
图3是本申请实施例提供的解码框架的示意性框图。
图4是本申请实施例提供的点云的解码方法的示意性流程图。
图5是本申请实施例提供的卡尔曼滤波的原理的示意图。
图6是本申请实施例提供的点云的解码方法的另一示意性流程图。
图7是本申请实施例提供的点云的编码方法的示意性流程图。
图8是本申请实施例提供的解码器的示意性框图。
图9是本申请实施例提供的编码器的示意性框图。
图10是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面对点云相关的概念进行说明。
点云(Point Cloud)是空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。
点云数据(Point Cloud Data)是点云的具体记录形式,点云中每个点的点云数据可以包括几何信息和属性信息,其中,点云中每个点的几何信息是指该点的笛卡尔三维坐标数据,点云中每个点的属性信息可以包括但不限于以下至少一种:色彩信息、材质信息、激光反射强度信息。色彩信息可以是任意一种色彩空间上的信息。例如,色彩信息可以是红绿蓝(Red Green Blue,RGB)信息。再如,色彩信息还可以是亮度色度(YcbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色,U和V表示为色度(Chroma),色度用于描述色差信息。
点云中的每个点都具有相同数量的属性信息。例如,点云中的每个点都具有色彩信息和激光反射强度两种属性信息。再如,点云中的每个点都具有色彩信息、材质信息和激光反射强度信息三种属性信息。在点云媒体的封装过程中,点的几何信息也可称为点云媒体的几何分量或几何成分(Geometry Component),点的属性信息也可称为点云媒体的属性分量或属性成分(Attribute Component)。点云媒体可包括一个几何成分以及一个或多个属性成分。
基于应用场景可以将点云划分为两大类别,即机器感知点云和人眼感知点云。机器感知点云的应用场景包括但不限于:自主导航***、实时巡检***、地理信息***、视觉分拣机器人、抢险救灾机器人等点云应用场景。人眼感知点云的应用场景包括但不限于:数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。点云的获取途径包括但不限于:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云。3D扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云。3D摄像可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。具体而言,可通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云。根据激光测量原理得到的点云,其可以包括点的三维坐标信息和点的激光反射强度(reflectance)。根据摄影测量原理得到的点云,其可以可包括点的三维坐标信息和点的色彩信息。结合激光测量和摄影测量原理得到点云,其可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的色彩信息。相应的,也可基于点云的获取途径将点云划分为三种类型的点云,即第一静态点云、第二类动态点云以及第三类动态获取点云。针对第一静态点云,物体是静止的,且获取点云的设备也是静止的;针对第二类动态点云,物体是运动的,但获取点云的设备是静止的;针对第三类动态获取点云,获取点云的设备是运动的。
例如,在医学领域,由磁共振成像(magnetic resonance imaging,MRI)、计算机断层摄影(computed tomography,CT)、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云的获取成本和时间周期,提高了数据的精度。点云的获取方式的变革,使大量点云的获取成为可能。伴随着大规模的点云不断积累,点云的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
点云数据可用于形成点云媒体,点云媒体可以是一个媒体文件。点云媒体可包括多个媒体帧,点云媒体中的每个媒体帧由点云数据组成。点云媒体可以灵活方便地表达三维物体或三维场景的空间结构及表面属性,因此被广泛应用。对点云媒体进行编码后,再对编码后的码流进行封装可形成封装文件,封装文件可用于传输给用户。相对应的,在点云媒体播放器端,需要先对封装文件进行解封装,然后再进行解码,最后对解码后的数据流进行呈现。封装文件也可称为点云文件。
截止目前,可通过点云编码框架对点云进行编码。
点云编码框架可以是运动图像专家组(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编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。下面以G-PCC编解码框架对本申请实施例可适用的编解码框架进行说明。
图1是本申请实施例提供的编码框架100的示意性框图。
如图1所示,编码框架100可以从采集设备获取点云的位置信息和属性信息。点云的编码包括位置编码和属性编码。在一个实施例中,位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
如图1所示,位置编码可通过以下单元实现:
坐标变换(Transform coordinates)单元101、量化和移除重复点(Quantize andremove points)单元102、八叉树分析(Analyze octree)单元103、几何重建(Reconstructgeometry)单元104以及第一算术编码(Arithmetic encode)单元105。
坐标变换单元101可用于将点云中点的世界坐标变换为相对坐标。例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标变换为相对坐标。量化和移除重复点单元102可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性变换合并到一个云中。在本申请的一些实施例中,量化和移除重复点单元102为可选的单元模块。八叉树分析单元103可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。第一算术编码单元105可以采用熵编码方式对八叉树分析单元103输出的位置信息进行算术编码,即将八叉树分析单元103输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
颜色空间变换(Transform colors)单元110、属性变换(Transfer attributes)单元111、区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)单元112、预测变换(predicting transform)单元113以及提升变化(lifting transform)单元114、量化(Quantize)单元115以及第二算术编码单元116。
颜色空间变换单元110可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。属性变换单元111可用于变换点云中点的属性信息,以最小化属性失真。例如,属性变换单元111可用于得到点的属性信息的真实值。例如,所述属性信息可以是点的颜色信息。经过属性变换单元111变换得到点的属性信息的真实值后,可选择任一种预测单元,对点云中的点进行预测。用于对点云中的点进行预测的单元可包括:RAHT 112、预测变换(predicting transform)单元113以及提升变化(lifting transform)单元114中的至少一项。换言之,RAHT 112、预测变换(predicting transform)单元113以及提升变化(liftingtransform)单元114中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而可基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的真实值减去点的属性信息的预测值。
预测变换单元113还可用于生成细节层(level of detail,LOD),对LOD中点的属性信息依次进行预测,计算得到预测残差以便后续进行量化编码。具体地,对LOD中的每一个点,在其前面的LOD中找到3个距离最近的邻居点,然后利用3个邻居点的重建值对当前点进行预测,得到预测值;基于此,可基于当前点的预测值和当前点的真实值得到当前点的残差值。例如,可基于下述方公式确定残差值:
attrResidualQuant=(attrValue-attrPred)/Qstep;
其中,attrResidualQuant表示当前点的残差值,attrPred表示当前点的预测值,attrValue表示当前点的真实值,Qstep表示量化步长。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
当前点将会作为后续点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。当前点的属性信息的重建值可通过以下公式得到:
reconstructedColor=attrResidualQuant×Qstep+attrPred;
其中,reconstructedColor表示当前点的重建值,attrResidualQuant表示当前点的残差值,Qstep表示量化步长,attrPred表示当前点的预测值。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的LOD层。在一个实施例中,可以将欧式距离进行排序后,将不同范围的欧式距离划分为不同的LOD层。例如,可以随机挑选一个点,作为第一LOD层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二LOD层。获取第二LOD层中点的质心,计算除第一、第二LOD层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三LOD层。以此类推,将所有的点都归到LOD层中。通过调整欧式距离的阈值,可以使得每层LOD的点的数量是递增的。应理解,LOD层划分的方式还可以采用其它方式,本申请对此不进行限制。需要说明的是,可以直接将点云划分为一个或多个LOD层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个LOD层,每个LOD层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行LOD层的划分。
图2是本申请实施例提供的LOD层的示意性框图。
如图2所示,假设点云包括按照原始顺序(original order)排列的多个点,即P0,P1,P2,P3,P4,P5,P6,P7,P8以及P9,假设可基于点与点之间的欧式距离可将点云划分为3个LOD层,即LOD0、LOD1以及LOD2。其中,LOD0可包括P0,P5,P4以及P2,LOD2可包括P1,P6以及P3,LOD3可包括P9,P8以及P7。此时,LOD0、LOD1以及LOD2可用于形成该点云的基于LOD的顺序(LOD-based order),即P0,P5,P4,P2,P1,P6,P3,P9,P8以及P7。所述基于LOD的顺序可作为该点云的编码顺序。
量化单元115可用于量化点的属性信息的残差值。例如,若所述量化单元115和所述预测变换单元113相连,则所述量化单元可用于量化所述预测变换单元113输出的点的属性信息的残差值。例如,对预测变换单元113输出的点的属性信息的残差值使用量化步长进行量化,以实现提升***性能。第二算术编码单元116可使用零行程编码(Zero run lengthcoding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息
应当理解,本申请实施例中,点云中点的属性信息的预测值(predictedvalue)也可称为LOD模式下的颜色预测值(predictedColor)。点的属性信息的真实值减去点的属性信息的预测值可得到点的残差值(residualvalue)。点的属性信息的残差值也可称为LOD模式下的颜色残差值(residualColor)。点的属性信息的预测值和点的属性信息的残差值相加可生成点的属性信息的重建值(reconstructedvalue)。点的属性信息的重建值也可称为LOD模式下的颜色重建值(reconstructedColor)。
图3是本申请实施例提供的解码框架200的示意性框图。
如图3所示,解码框架200可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。在一个实施例中,位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到预测值,基于预测值和残差值得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
如图3所示,位置解码可通过以下单元实现:第一算数解码单元201、八叉树分析(synthesize octree)单元202、几何重建(Reconstruct geometry)单元203以及坐标反变换(inverse transform coordinates)单元204。属性编码可通过以下单元实现:第二算数解码单元210、反量化(inverse quantize)单元211、RAHT单元212、预测变换(predictingtransform)单元213、提升变化(lifting transform)单元214以及颜色空间反变换(inverse trasform colors)单元215。
需要说明的是,解压缩是压缩的逆过程,类似的,解码框架200中的各个单元的功能可参见编码框架100中相应的单元的功能。例如,解码框架200可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码。例如,计算零行程编码技术中零的数量(zero_cnt),以基于零的数量对残差值进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。依据零行程编码技术进行解码操作,首先解出码流中第一个zero_cnt的大小,若大于0,说明此点的属性信息的残差值为0,若zero_cnt不为0,说明此点的属性信息的残差值不为0;若残差值为0,则采用用于第一解析函数对残差值进行解析,若残差值不为0,则采用第二解析函数对残差值进行解析。当前点将会作为后续LOD中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。此外,关于反变换(transform)和反量化(scale/scaling),对于正交变换,如果将其中的一个矩阵用于变换,则另一个矩阵用于反变换。对于解码方法,可将解码器中使用的矩阵称为“变换”(transform)矩阵。
本申请实施例提供一种点云的解码方法、编码方法、解码器以及编码器,能够提升点云解码过程中的重建准确度,进而,能够提升解码效果。
图4示出了根据本申请实施例的点云的解码方法300的示意性流程图,所述解码方法300可以由解码端执行。例如,图3所示的解码框架200,即点云解码器TMC13。为便于说明,下面以解码器为执行主体对本申请的技术方案进行说明。
如图4所示,所述解码方法300可包括:
S301,对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
S302,将所述初始重建值转换为初始亮度值和初始色度值;
S303,利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
S304,基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
S305,根据所述目标点的属性信息的最终重建值,得到解码点云。
具体来说,所述初始重建值可为RGB格式的值,例如初始重建值F可以用不同分量的R、G、B三色相加混合而成,即F=r[R]+g[G]+b[B],其中r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑色;而当三基色分量都为k(最强)时混合为白色。调整r、g、b三个系数的值,可以混合出介于黑色和白色之间的各种各样的颜色。RGB经过颜色空间转换可得到亮度值(即亮度信号Y)和色度值(即色差信号Cr和色差信号Cb)。包括色度值和亮度值的色彩,即所谓的YCbCr色彩空间。本申请实施例是针对转换后的原始色度值进行卡尔曼滤波,以提升解码效果。
本申请提供的方案中,通过将初始重建值转换为初始亮度值和初始色度值,并利用卡尔曼滤波算法仅对初始色度值进行滤波,能够提升所述目标点的属性信息的重建准确度,对点的重建过程进行了质量增强,相应的,能够提升点云编码的解码效果。此外,考虑到卡尔曼滤波算法更适用于对平稳信号的处理,而点云的亮度值的波动性较大,利用卡尔曼滤波算法仅对初始色度值进行滤波,能够提升滤波效果,进一步提升点云编码的解码效果。
基于本申请提供的技术方案,在G-PCC参考软件TMC13 V11.0上进行了测试,在CTCCY测试条件下对运动图像专家组(Moving Picture Experts Group)要求的部分测试序列进行测试,测试结果如下述表1所示,下面结合表1对性能提升效果进行说明。
表1
测试序列 | 亮度 | 色度(蓝色色差) | 色度(红色色差) |
A类点云序列 | -0.8% | -5.7% | -7.4% |
B类点云序列 | -0.3% | -3.6% | -4.2% |
A类、B类点云序列的平均值 | -0.5% | -4.6% | -5.7% |
如表1所示,采用本申请实施例的方案,“-”代表比约加德增量比特率(delta bit rate,BD-BitRate、BD-BR或BDBR)下降,BDBR代表相同峰值信噪比(Peak Signalto Noise Ratio,PSNR)下的码率差异,BDBR越小表示编码算法的性能越好。如表1所示,A类点云序列表示包括点的颜色信息和其他属性信息的点的点云,B类点云序列包括仅包括点的颜色信息的点的点云,通过A类、B类点云序列的BDBR平均值,能够客观真实的反映通过引入量化权重能够提升编码算法的性能。
需要说明的是,一般来说,码率降低,PSNR增大,能够说明新方法具有较好的性能。然而,会出现这样一种情况,即码率相对于原来的方法有所降低,但是PSNR即视频的质量却降低了,在这种情况下,可以采用BDBR衡量编码算法的性能。当然,在视频处理过程中,也可利用其他参数来衡量编码算法的性能,以表征利用新方法得到的视频相对于原来的方法得到的视频在码率和PSNR上的变化情况,本申请实施例对此不作具体限定。例如,也可采用比约加德增量信号噪音功率比(delta peak signal-to-noise rate,BD-PSNR或BDPSNR)来衡量编码算法的性能,BDPSNR代表相同码率下的PSNR的差异,BDPSNR越大表示编码算法的性能越好。
需要说明的是,本申请实施例中的卡尔曼滤波过程可结合至解码器的后处理过程,也可结合至环路内的滤波处理过程,本申请实施例对此不作具体限定。此外,本申请中涉及的点云可以是完整的点云,也可以是将完整的点云划分后形成的点云切块(slice)。
图5是本申请实施例提供的卡尔曼滤波的原理的示意图。
如图5所示,可通过曲线371表示所述目标点的属性信息的初始色度值,可通过曲线372表示所述目标点的属性信息的最终色度值,可通过曲线373表示所述目标点的属性信息的测量值;换言之,可以利用所述目标点的属性信息的测量值对所述目标点的属性信息的初始色度值进行滤波,以得到所述目标点的属性信息的最终色度值。初始色度值也可称为先验估计值;最终色度值也可称为最优估计值或后验估计值。例如,可以将对点云中的目标点的卡尔曼滤波分为预测过程和校正过程。假设目标点为点云中的第k个点;在预测过程中,可根据第k-1个点的初始色度值来估计第k个点的状态,得到第k个点的测量值;在校正过程中,使用第k个点的测量值更正第k个点的初始色度值,得到第k个点的最终色度值。
在本申请的一些实施例中,所述S303可包括:
以所述目标点之前的一个或多个点的属性信息的重建值的色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值。
例如,所述目标点之前的一个或多个点的属性信息的重建值可以是所述目标点之前的一个点的属性信息的重建值。再如,所述目标点之前的一个或多个点的属性信息的重建值可以是所述目标点之前的多个点的属性信息的重建值的均值、最大值或最小值。例如,以所述目标点之前的一个或多个点的属性信息的初始重建值的色度值作为测量值,利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值。例如,以所述目标点之前的一个或多个点的属性信息的最终重建值的色度值作为测量值,利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值。可选的,所述目标点之前的一个或多个点为按照解码顺序位于所述目标点之前的一个或多个点。当然,所述目标点之前的一个或多个点也可以是按照其他顺序确定的一个或多个点。需要说明的是,所述目标点之前的一个或多个点,可以理解为所述目标点所在的LOD层中的位于所述目标点之前的一个或多个点,也可以理解为编码顺序之前的一个或多个点。
简言之,解码器将利用重建值的色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到所述最终色度值。
作为示例,所述S303可包括:
计算所述一个或多个点中每一个点的属性信息的重建值的平均重建值;将所述平均重建值转换为平均亮度值和平均色度值;将所述平均色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到所述最终色度值。
当然,如上所述,将所述平均色度值作为测量值仅为本申请提供的示例,不应理解为对本申请的限制。
在本申请的一些实施例中,所述目标点的属性信息的残差值为基于多个量化步长中的目标量化步长进行反量化处理后得到的;所述S302可包括:在所述目标量化步长大于或等于阈值N的情况下,将所述初始重建值转换为所述初始亮度值和所述初始色度值,N为非负整数。可选的,所述多个量化步长按照由小到大的顺序排序,N为所述多个量化步长中的第n个量化步长的值,n为大于0的整数。
换言之,基于较大的量化步长进行反量化处理时,将所述初始重建值转换为所述初始亮度值和所述初始色度值。
假设存在5个量化步长,即对应于5个码率。假设只对较大的后3个量化步长(即目标量化步长)做卡尔曼滤波处理,前两个量化步长不做任何处理。考虑到量化步长较大时,点的属性信息的重建值和点的属性信息的真实值之间的误差越大,点的属性信息的重建值的质量也会越差;基于此,即使对前两个量化步长做卡尔曼滤波处理,由于点的属性信息的重建值的误差也很小,滤波的作用也事倍功半;而只对较大的后3个量化步长做卡尔曼滤波处理,点的属性信息的重建值的滤波的效果较好,不仅能够简化滤波过程,还能够保证解码效果。
在本申请的一些实施例中,所述S302可包括:
利用颜色空间转换函数将所述初始重建值转换为所述初始亮度值和所述初始色度值,所述初始亮度值和所述初始色度值位于显示屏支持的颜色空间内。可选的,所述颜色空间转换函数可以是transformGbrToYCbCrBt709。可选的,所述颜色空间也可称为色域空间。
当然,本申请旨在保护利用颜色空间转换函数将所述初始重建值转换为显示屏支持的颜色空间或色域空间内,本申请实施例对具体转换函数不作限定。例如,根据显示屏的属性可以采用不同的转换函数,甚至基于不同的编解码标准中涉及的颜色空间或色域空间可采用不同的转换函数。
在本申请的一些实施例中,所述S301可包括:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值;当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值,M为大于1的正整数,m为大于或等于0的正整数。
针对在编码顺序中位置靠前的LOD层中的点云,由于欧氏距离较大,量化过程可能引入较大的量化误差。部分点的属性信息的残差值不进行量化,相当于所述部分点的属性信息的重建值为真实值,能够提高所有点云中点的属性信息的重建值的准确性,同时随着重建值准确性的提高,会使卡尔曼滤波的更新和迭代过程更加准确,进一步提升解码效果。解码器针对相同位置的点不进行反量化,以达到解码出正确的、更好质量的重建值的效果。
可选的,所述方法300还可包括:
对所述码流进行解析,得到所述码流中的不需要反量化的点的属性信息的残差值的点的数量。
在本申请的一些实施例中,所述S301可包括:
当所述点云中的一个LOD层的点数小于阈值T时,针对LOD层中的点,将点的属性信息的最终重建值替换为属性信息的真实值;当所述点云中的一个LOD层的点数大于或等于所述T时,将LOD层中的第t*T个点的属性信息的最终重建值替换为真实值,T为大于1的正整数,t为大于或等于0的正整数。
针对在编码顺序中位置靠前的LOD层中的点云,由于欧氏距离较大,量化过程可能引入较大的量化误差。部分点的最终重建值替换为真实值,能够提高所有点云中点的属性信息的重建值的准确性,同时随着重建值准确性的提高,会使卡尔曼滤波的更新和迭代过程更加准确,进一步提升解码效果。解码器针对相同位置的点采用真实值,以达到解码出正确的、更好质量的重建值的效果。
可选的,所述方法300还可包括:
对所述码流进行解析,得到所述码流中点的属性信息的最终重建值为真实值的点的数量、以及点的属性信息的真实值。
在本申请的一些实施例中,所述方法300还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
在本申请的一些实施例中,所述S301可包括:
对所述码流进行解析,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;对所述码流进行解析,得到所述目标点的属性信息的残差值;根据所述目标点的属性信息的预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的初始重建值。
图6是本申请实施例提供的解码方法的另一示意图。
如图6所示,假设存在5个量化步长(即Qp1,Qp2,Qp3,Qp4以及Qp5),即对应于5个码率。假设后3个量化步长(即Qp3,Qp4以及Qp5)大于或等于阈值N,即只对较大的后3个量化步长(即Qp3,Qp4以及Qp5)做卡尔曼滤波处理,前两个量化步长不做任何处理。基于此,可按照LOD的生成顺序,依次对每一个点的重建值进行卡尔曼滤波操作。
具体来说,编码器通过遍历点云,点云中的当前点的属性信息的初始重建值为RGB值,解码器计算当前点之前的三个点的属性信息的重建值的平均重建值。随后,解码器可利用用函数transformGbrToYCbCrBt709把所述当前点的初始重建值和前三点重建值的平均重建值从RGB域转换到YUV域,即编码器得到平均重建值的平均色度值和平均亮度值,以及当前点的初始色度值和初始亮度值。接着,解码器基于得到的平均色度值为测量值,以初始色度值为预测值进行卡尔曼滤波计算,得到当前点的最终色度值,继而基于当前点的最终色度值和初始亮度值得到最终重建值。换言之,YUV分量的UV分量作为卡尔曼滤波所需输入参数,即测量值,当前点的YUV分量的UV分量作为卡尔曼滤波的另一输入参数,即预测值。卡尔曼滤波结束后,滤波后的最终重建值将覆盖当前点的初始重建值。
本实施例中,选择较大的量化步长时,仅对初始色度值进行卡尔曼滤波处理,避免了对初始亮度值的质量损失,能够提升滤波性能。
图7示出了根据本申请实施例的点云的编码方法400的示意性流程图。所述方法400可以由编码端执行。例如图2所示的编码框架100或编码器。
如图7所示,所述方法400可包括:
S401,对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
S402,根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
S403,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
S404,根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
S405,对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
在本申请的一些实施例中,所述S405可包括:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流;当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流,M为大于1的正整数,m为大于或等于0的正整数。
具体来说,编码器对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;对所述目标点的属性信息的残差值进行编码,得到所述码流。可选的,还可以对不需要量化点的属性信息的残差值的点的数量进行编码;例如,当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流;当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流,M为大于1的正整数,m为大于或等于0的正整数。
在本申请的一些实施例中,所述方法400还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下面将结合附图对本申请实施例提供的点云的编码器或解码器进行说明。
图8是本申请实施例提供的点云的解码器500的示意性框图。
如图8所示,所述解码器500可包括:
解析单元501,用于对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
转换单元502,用于将所述初始重建值转换为初始亮度值和初始色度值;
滤波单元503,用于利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
第一处理单元504,用于基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
第二处理单元505,用于根据所述目标点的属性信息的最终重建值,得到解码点云。
在本申请的一些实施例中,所述滤波单元503具体用于:
计算所述一个或多个点中每一个点的属性信息的重建值的平均重建值;
将所述平均重建值转换为平均亮度值和平均色度值;
将所述平均色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到所述最终色度值。
在本申请的一些实施例中,所述目标点之前的一个或多个点为按照解码顺序位于所述目标点之前的一个或多个点。
在本申请的一些实施例中,所述目标点的属性信息的残差值为基于多个量化步长中的目标量化步长进行反量化处理后得到的;所述转换单元502具体用于:
在所述目标量化步长大于或等于阈值N的情况下,将所述初始重建值转换为所述初始亮度值和所述初始色度值,N为非负整数。
在本申请的一些实施例中,所述多个量化步长按照由小到大的顺序排序,N为所述多个量化步长中的第n个量化步长的值,n为大于0的整数。
在本申请的一些实施例中,所述转换单元502具体用于:
利用颜色空间转换函数将所述初始重建值转换为所述初始亮度值和所述初始色度值,所述初始亮度值和所述初始色度值位于显示屏支持的颜色空间内。
在本申请的一些实施例中,所述解析单元501具体用于:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值;当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值,M为大于1的正整数,m为大于或等于0的正整数。
在本申请的一些实施例中,所述解析单元501还用于:
对所述码流进行解析,得到所述码流中的不需要反量化的点的属性信息的残差值的点的数量。
在本申请的一些实施例中,所述解析单元501具体用于:
当所述点云中的一个LOD层的点数小于阈值T时,针对LOD层中的点,将点的属性信息的最终重建值替换为属性信息的真实值;当所述点云中的一个LOD层的点数大于或等于所述T时,将LOD层中的第t*T个点的属性信息的最终重建值替换为真实值,T为大于1的正整数,t为大于或等于0的正整数。
在本申请的一些实施例中,所述解析单元501还用于:
对所述码流进行解析,得到所述码流中点的属性信息的最终重建值为真实值的点的数量、以及点的属性信息的真实值。
在本申请的一些实施例中,所述解析单元501还用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
在本申请的一些实施例中,所述解析单元501具体用于:
对所述码流进行解析,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
对所述码流进行解析,得到所述目标点的属性信息的残差值;
根据所述目标点的属性信息的预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的初始重建值。
图9是本申请实施例提供的点云的编码器600的示意性框图。
如图9所示,所述编码器600可包括:
第一处理单元601,用于对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
第二处理单元602,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
第三处理单元603,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
第四处理单元604,用于根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
编码单元605,用于对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
在本申请的一些实施例中,所述编码单元605具体用于:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流;当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流,M为大于1的正整数,m为大于或等于0的正整数。
在本申请的一些实施例中,所述第一处理单元601具体用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,解码器500可以对应于执行本申请实施例的方法300中的相应主体,并且解码器500中的各个单元分别为了实现方法300中的相应流程,类似的,编码器600可以对应于执行本申请实施例的方法400中的相应主体,并且编码器600中的各个单元分别为了实现方法400中的相应流程,为了简洁,在此不再赘述。
还应当理解,本申请实施例涉及的编码器或解码器中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。换言之,上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。当然,在本申请的其它实施例中,该编码器或解码器也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的编码器或解码器,以及来实现本申请实施例提供的编码方法或解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于任意具有处理能力的电子设备,并在其中运行,来实现本申请实施例的相应方法。换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图10是本申请实施例提供的电子设备700的示意结构图。
如图10所示,该电子设备700至少包括处理器710以及计算机可读存储介质720。其中,处理器710以及计算机可读存储介质720可通过总线或者其它方式连接。计算机可读存储介质720用于存储计算机程序721,计算机程序721包括计算机指令,处理器710用于执行计算机可读存储介质720存储的计算机指令。处理器710是电子设备700的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器710也可称为中央处理器(Central Processing Unit,CPU)。处理器710可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质720可以是高速RAM存储器,也可以是非不稳定的存储器(Non-Volatile Memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器710的计算机可读存储介质。具体而言,计算机可读存储介质720包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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 DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在一种实现方式中,该电子设备700可以是图3所示的解码框架200或图8所示的解码器500;该计算机可读存储介质720中存储有第一计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第一计算机指令,以实现图4所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质720中的第一计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
在一种实现方式中,该电子设备700可以是图1所示的编码框架100或图9所示的编码器600;该计算机可读存储介质720中存储有第二计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第二计算机指令,以实现图7方法实施例中的相应步骤;具体实现中,计算机可读存储介质720中的第二计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备700中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质720。可以理解的是,此处的计算机可读存储介质720既可以包括电子设备700中的内置存储介质,当然也可以包括电子设备700所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备700的操作***。并且,在该存储空间中还存放了适于被处理器710加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序721(包括程序代码)。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序721。此时,电子设备700可以是计算机,处理器710从计算机可读存储介质720读取该计算机指令,处理器710执行该计算机指令,使得该计算机执行上述各种可选方式中提供的编码方法或解码方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种点云的解码方法,其特征在于,包括:
对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
将所述初始重建值转换为初始亮度值和初始色度值;
利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
根据所述目标点的属性信息的最终重建值,得到解码点云。
2.根据权利要求1所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值,包括:
以所述目标点之前的一个或多个点的属性信息的重建值的色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值。
3.根据权利要求2所述的方法,其特征在于,所述以所述目标点之前的一个或多个点的属性信息的重建值的色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值,包括:
计算所述目标点之前的一个或多个点的属性信息的重建值的平均重建值;
将所述平均重建值转换为平均亮度值和平均色度值;
将所述平均色度值作为测量值,利用所述卡尔曼滤波算法对所述初始色度值进行滤波,得到所述最终色度值。
4.根据权利要求2所述的方法,其特征在于,所述目标点之前的一个或多个点为按照解码顺序位于所述目标点之前的一个或多个点。
5.根据权利要求1所述的方法,其特征在于,所述目标点的属性信息的残差值为基于多个量化步长中的目标量化步长进行反量化处理后得到的;所述将所述初始重建值转换为初始亮度值和初始色度值,包括:
在所述目标量化步长大于或等于阈值N的情况下,将所述初始重建值转换为所述初始亮度值和所述初始色度值,N为非负整数。
6.根据权利要求5所述的方法,其特征在于,所述多个量化步长按照由小到大的顺序排序,N为所述多个量化步长中的第n个量化步长的值,n为大于0的整数。
7.根据权利要求1所述的方法,其特征在于,所述将所述初始重建值转换为初始亮度值和初始色度值,包括:
利用颜色空间转换函数将所述初始重建值转换为所述初始亮度值和所述初始色度值,所述初始亮度值和所述初始色度值位于显示屏支持的颜色空间内。
8.根据权利要求1所述的方法,其特征在于,所述对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值,包括:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值;
当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,基于无损编码的点的属性信息的残差值和点的属性信息的预测值,得到点的属性信息的初始重建值,M为大于1的正整数,m为大于或等于0的正整数。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
对所述码流进行解析,得到所述码流中的不需要反量化的点的属性信息的残差值的点的数量。
10.根据权利要求1所述的方法,其特征在于,所述对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值,包括:
当所述点云中的一个LOD层的点数小于阈值T时,针对LOD层中的点,将点的属性信息的最终重建值替换为属性信息的真实值;
当所述点云中的一个LOD层的点数大于或等于所述T时,将LOD层中的第t*T个点的属性信息的最终重建值替换为真实值,T为大于1的正整数,t为大于或等于0的正整数。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
对所述码流进行解析,得到所述码流中点的属性信息的最终重建值为真实值的点的数量、以及点的属性信息的真实值。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
13.根据权利要求1所述的方法,其特征在于,所述对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值,包括:
对所述码流进行解析,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
对所述码流进行解析,得到所述目标点的属性信息的残差值;
根据所述目标点的属性信息的预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的初始重建值。
14.一种点云的编码方法,其特征在于,包括:
对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
15.根据权利要求14所述的方法,其特征在于,所述对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流,包括:
当所述点云中的一个LOD层的点数小于阈值M时,针对LOD层中的点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流;
当所述点云中的一个LOD层的点数大于或等于所述M时,针对LOD层中的第m*M个点,将未经反量化的点的属性信息的残差值进行编码,得到所述码流,M为大于1的正整数,m为大于或等于0的正整数。
16.根据权利要求14所述的方法,其特征在于,所述方法还包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
17.一种解码器,其特征在于,包括:
解析单元,用于对点云的码流进行解析,得到所述点云中一目标点的属性信息的初始重建值;
转换单元,用于将所述初始重建值转换为初始亮度值和初始色度值;
滤波单元,用于利用卡尔曼滤波算法对所述初始色度值进行滤波,得到最终色度值;
第一处理单元,用于基于所述最终色度值和所述初始亮度值,得到所述目标点的属性信息的最终重建值;
第二处理单元,用于根据所述目标点的属性信息的最终重建值,得到解码点云。
18.一种编码器,其特征在于,包括:
第一处理单元,用于对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
第二处理单元,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
第三处理单元,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
第四处理单元,用于根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
编码单元,用于对需要写入码流中的无损编码的点的属性信息的残差值的数量以及所述目标点的属性信息的残差值进行编码,得到所述码流。
19.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至13中任一项所述的点云的解码方法或如权利要求14至16中任一项所述的点云的解码方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令适于由处理器加载并执行如权利要求1至13中任一项所述的点云的解码方法或如权利要求14至16中任一项所述的点云的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311874021.1A CN117710587A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080107853.9A CN116601947A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
PCT/CN2020/138435 WO2022133755A1 (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
CN202311874021.1A CN117710587A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080107853.9A Division CN116601947A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710587A true CN117710587A (zh) | 2024-03-15 |
Family
ID=82157037
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311874021.1A Pending CN117710587A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
CN202080107853.9A Pending CN116601947A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080107853.9A Pending CN116601947A (zh) | 2020-12-22 | 2020-12-22 | 点云的解码方法、编码方法、解码器以及编码器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230326090A1 (zh) |
EP (1) | EP4270949A4 (zh) |
JP (1) | JP2024505796A (zh) |
KR (1) | KR20230124018A (zh) |
CN (2) | CN117710587A (zh) |
WO (1) | WO2022133755A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10861196B2 (en) * | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US10909725B2 (en) * | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US11010928B2 (en) * | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US10904564B2 (en) * | 2018-07-10 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
US11010931B2 (en) * | 2018-10-02 | 2021-05-18 | Tencent America LLC | Method and apparatus for video coding |
EP3866115B1 (en) * | 2018-10-09 | 2024-03-27 | Panasonic Intellectual Property Corporation of America | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device |
US11454710B2 (en) * | 2019-01-08 | 2022-09-27 | Apple Inc. | Point cloud compression using a space filling curve for level of detail generation |
CN110418135B (zh) * | 2019-08-05 | 2022-05-27 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN111145090B (zh) * | 2019-11-29 | 2023-04-25 | 鹏城实验室 | 一种点云属性编码方法、解码方法、编码设备及解码设备 |
CN111242997B (zh) * | 2020-01-13 | 2023-11-10 | 北京大学深圳研究生院 | 一种基于滤波器的点云属性预测方法及设备 |
-
2020
- 2020-12-22 WO PCT/CN2020/138435 patent/WO2022133755A1/zh active Application Filing
- 2020-12-22 KR KR1020237024384A patent/KR20230124018A/ko unknown
- 2020-12-22 CN CN202311874021.1A patent/CN117710587A/zh active Pending
- 2020-12-22 JP JP2023537455A patent/JP2024505796A/ja active Pending
- 2020-12-22 CN CN202080107853.9A patent/CN116601947A/zh active Pending
- 2020-12-22 EP EP20966335.0A patent/EP4270949A4/en active Pending
-
2023
- 2023-06-15 US US18/335,714 patent/US20230326090A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230326090A1 (en) | 2023-10-12 |
EP4270949A4 (en) | 2024-03-06 |
CN116601947A (zh) | 2023-08-15 |
KR20230124018A (ko) | 2023-08-24 |
JP2024505796A (ja) | 2024-02-08 |
WO2022133755A1 (zh) | 2022-06-30 |
EP4270949A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210014509A1 (en) | Signaling residual signs predicted in transform domain | |
CN105284112B (zh) | 用于确定量化参数的值的方法和装置 | |
CA3031546C (en) | Data compression by means of adaptive subsampling | |
US20230342985A1 (en) | Point cloud encoding and decoding method and point cloud decoder | |
JP2024522853A (ja) | 複合インター及びイントラ予測を行うための方法及びシステム | |
JP2023514136A (ja) | クロマ信号を処理するための方法 | |
JP2023507259A (ja) | ラップアラウンド動き補償を実行する方法 | |
CN116760989A (zh) | 用信号通知子图像划分信息的方法和装置 | |
EP4258671A1 (en) | Point cloud attribute predicting method, encoder, decoder, and storage medium | |
WO2022067775A1 (zh) | 点云的编码、解码方法、编码器、解码器以及编解码*** | |
KR20230075426A (ko) | 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더 | |
US20230237704A1 (en) | Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system | |
CN117710587A (zh) | 点云的解码方法、编码方法、解码器以及编码器 | |
CN116783887A (zh) | 点云的编码方法、解码方法、编码器以及解码器 | |
WO2022217472A1 (zh) | 点云编解码方法、编码器、解码器及计算机可读存储介质 | |
WO2023159428A1 (zh) | 编码方法、编码器以及存储介质 | |
WO2023204040A1 (ja) | 復号方法、符号化方法、復号装置及び符号化装置 | |
US20230290012A1 (en) | Point cloud encoding method and system, point cloud decoding method and system, point cloud encoder, and point cloud decoder | |
WO2023097694A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
TW202404363A (zh) | 點雲編碼方法、編碼裝置、編碼設備、儲存媒介以及碼流 | |
CN117751574A (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 |