CN115152224A - 使用分层分级编码进行点云压缩 - Google Patents
使用分层分级编码进行点云压缩 Download PDFInfo
- Publication number
- CN115152224A CN115152224A CN202180013512.XA CN202180013512A CN115152224A CN 115152224 A CN115152224 A CN 115152224A CN 202180013512 A CN202180013512 A CN 202180013512A CN 115152224 A CN115152224 A CN 115152224A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- data
- points
- point cloud
- dimensional representation
- 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
- 230000006835 compression Effects 0.000 title description 6
- 238000007906 compression Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims abstract description 157
- 238000012545 processing Methods 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 15
- 238000009877 rendering Methods 0.000 claims description 11
- 230000033001 locomotion Effects 0.000 claims description 10
- 239000010410 layer Substances 0.000 description 121
- 230000008569 process Effects 0.000 description 48
- 230000000875 corresponding effect Effects 0.000 description 34
- 238000005070 sampling Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000012792 core layer Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种对三维点云进行编码的方法。所述方法包括:获取所述三维点云内的一组点,所述一组点内的点具有三维坐标;将所述点转换成二维表示,其中对于所述一组点内的点,描述所述坐标的信息被表示为所述二维表示内的位置和所述位置处的值;以及使用基于层的分级编码格式对所述二维表示进行编码以输出编码数据,其中所述基于层的分级编码格式将所述二维表示编码为多个层,所述多个层表示用于以不同质量层级逐步重构信号的数据梯队。
Description
技术领域
本发明涉及用于处理点云信号的方法,诸如,作为非限制性实例,用于6自由度(DoF)体积视频的点云表示。处理数据可以包含但不限于在分级(基于层)编码格式的环境中获取、导出、编码、输出、接收并重构信号(其中信号以随后较高的质量层级分层解码),利用并组合重构数据的后续层(“梯队”)。不同等级的信号可以借助于不同的基本流以不同的编码格式进行编码,这些基本流可以或不可以在单个位流中复用。
背景技术
近年来,越来越多的应用已经利用点云信号来表示体积“沉浸式”现实,然后可以实时渲染,以便允许观看者在回放期间动态改变他们的视点。这在虚拟或增强(VR/AR)环境中特别有影响,但是也发现了二维(2D)示出的应用,例如允许示出装置跟踪观看者的头部,以便基于观看者的头部移动来改变屏幕中示出的视点。
某些应用需要对点云信息进行高效的编码、传输、存储和解码。此信息通常包括多维空间(例如,三维3D空间、随时间变化的3D空间等)中的一组点。因此,沉浸式点云信号允许独特的用户体验,诸如沉浸式6DoF立体视频,但是也需要极高的数据量。云中的每个点可以具有若干不同的特性,诸如它的(x,y,z)位置、计算坐标的参考点、相对于在该位置最佳地内插对象表面的表面的多个法向向量(对于任何给定的视点,如果所述点表示可感知大小的体积)、多种色彩(例如,包含从不同角度看到的色彩,诸如右眼对左眼)、所述点的运动信息、参考***的运动信息、该特定位置的信号的其他属性等。这些属性中的一些可能需要高于8位甚至10位的位深度,通常用于表示常规图像或视频的像素值。此信息通常难以高效地传输和存储,并且在压缩方面提出了多种挑战,包含但不限于处理能力要求。例如,可能需要表示整个可能的三维空间的数据结构,尽管稀疏点云仅占据此空间的一小部分。此外,点云信号的具体格式可能因用例而异,这使得限定100%专用于每种类型的点云信号的基于硬件的压缩方案不切实际。
压缩点云数据的现有技术方法(最近也是MPEG内标准化工作的主题)基于两种不同的方法:或试图表示体积数据(例如,用oct树结构),或试图改变现有的基于离散余弦变换(DCT)的视频编解码器的用途,以便编码点云的被变换成二维(或所谓的“2.5D”,参考深度信息的添加)表面的部分。这样做,这些方法可以重用于已经可以用于对2D视频进行编码和解码的6DoF数据硬件。然而,这些方法在可编码的分辨率、可使用的位深度精度和可编码的数据总量方面存在局限性,这完全是由于重用为完全不同的目的而开发的硬件的限制。
发明内容
根据第一方面,提供了一种如独立权利要求1所述的对三维点云进行编码的方法。
根据第二方面,提供了一种如独立权利要求15所述的对三维点云进行解码的方法。
在从属权利要求中列举了优选实施例。下面还描述了其他未要求保护的方面。
附图说明
图1示出了实例点云编码和解码管道的高层级示意图;
图2示出了分级解构过程的高层级示意图;
图3示出了分级解构过程的替代高层级示意图;
图4示出了适用于对分层输出的残差进行编码的编码过程的高层级示意图;
图5示出了适用于对图4的每个输出层级进行解码的分级解码过程的高层级示意图;
图6示出了分级编码技术的编码过程的高层级示意图;
图7示出了适用于对图6的输出的解码过程进行解码的高层级示意图;
图8是示出对三维点云进行编码的方法的流程图;
图9是示出对三维点云进行解码的方法的流程图;
图10示出了三维点云的不同视图的高层级示意图;
图11示出了使用点云视图构建投影二维表示的高层级示意图;以及
图12示出了如何指示感兴趣区域,使得不需要对来自每层的所有编码数据进行解码的高层级示意图。
具体实施方式
本文描述的实施例允许高效地利用和适应基于层的分级编码方法,以便高效地压缩6DoF点云数据。
基于层的分级编码的一些优点包含编码效率、经由大规模并行处理(例如,图形处理单元GPU)对快速软件处理的适应性、在非常高的分辨率和位深度下编码和解码信号的可能性(即,在硅中没有“硬连线”任何限制)、逐步解码(即,在低于最大值的分辨率下停止解码过程的可能性)和感兴趣区域解码(即,完全解码信号区域而不必完成整个信号的解码过程的可能性)。
在基于分层级的编码格式中,信号被分解成多个数据“梯队”(也称为“分级层”或“层”),每个梯队对应于信号的“质量层级”(“LoQ”),从原始信号的采样率的最高梯队到通常具有比原始信号更低的采样率的最低梯队。在非限制性实例中,当信号是图片时,最低梯队可以是原始图片的缩略图,或甚至仅是单个图片元素。其他梯队含有关于应用于重构再现以便产生最终输出的校正的信息。给定质量层级的解码信号通过以下方式进行重构:首先对最低梯队(因此以第一最低质量层级重构该信号)进行解码,然后预测第二质量层级——下一较高质量层级信号的再现,然后对相应的第二梯队重构数据(也称为第二质量层级“残差数据”)进行解码,然后将预测数据与重构数据组合,以便重构第二较高质量层级信号的再现,等等,直到重构给定质量层级。
不同梯队的数据可以使用不同的编码格式进行编码,并且不同的质量层级可以具有不同的采样率(例如,针对图像或视频信号的情况的分辨率)。后续梯队可以指信号的相同信号分辨率(即,采样率),或指越来越高的信号分辨率。伴随图2至图7的描述更详细地描述了实例基于层的编码格式。
本发明的非限制性实施例通过将信号称为时间样本序列(即,对于6DoF点云的情况,特定时刻的体积状态,大致对应于体积视频序列中的帧)来利用基于层的编码格式的这些优点。在描述中,术语“点云”、“体积图像”、“体积图片”、“体积”或“平面”(意为“超平面”的最广泛含义,即具有任意维数和给定采样网格的元素阵列)将经常用于识别信号样本沿着样本序列的数字再现,其中每个平面对于其中的每个维度(例如,X、Y、Z和视点)具有给定的分辨率,并且包括一组平面元素(或“元素”,或“像素”,或通常称为“体素”的三维图像的显示元素等),特征在于一个或多个“值”或“设置”(例如,作为非限制性实例,适当色彩空间中的色彩设置、指示阿尔法通道透明度层级的设置、指示表面的法向向量的设置、指示运动的设置、指示密度层级的设置、指示温度层级的设置等)。每个平面元素由一组合适的坐标来识别,指示所述元素在体积图像的采样网格中的整数位置。信号维度可以仅包含空间维度(例如,在6DoF图像的情况下)或时间维度(例如,在信号随时间演变的情况下,诸如6DoF沉浸式视频信号)。
作为非限制性实例,信号可以是3DoF/6DoF视频信号、全光信号、事件驱动相机信号、其他类型的体积信号(例如,医学成像、科学成像、全息成像等),或者甚至更多维度的信号。
简单起见,本文中所说明的非限制性实施例通常将从视点呈现的信号称为单视野或立体2D设置平面(例如,合适色彩空间中的2D图像),诸如例如6DoF VR视频信号或6DoF视频信号。术语“帧”将与术语“图像”互换使用,以便指示6DoF点云信号的时间样本:针对6DoF视频信号中示出的任何概念和方法也可以容易地适用于其他类型的点云信号,反之亦然。尽管本文中示出的实施例集中在6DoF点云视频信号上,但是本领域技术人员可以容易地理解,相同的概念和方法也适用于任何其他类型的多维信号(例如,全光信号、激光雷达、事件驱动相机、全息图等)。
在高层级处,点云数据被处理(例如,转换),使得被表示为多个较低(例如,两个)维度表示。点云数据因此可以被表示为在较低维度表示中具有对应值的位置(即,在所述位置处)。然后使用基于层的分级编码格式对较低维度表示进行编码。为了解码,可以从较低维度表示重构点云数据。在这些实例中,较低维度表示可以包括空间中较低数量的维度(例如,将3D点云表示为一系列2D帧)。
更详细地,在实施例中,编码方法包括获取多维(例如,三维)点云内的点(例如,相对于给定参考点参考的元素)。这些点被转换成较低维度表示(例如,二维表示)。与所述点相关的其他信息被表示为较低维度表示内的位置和所述位置处的对应值。例如,这可以是2D帧内的像素位置,其中该像素也具有被编码为值的元数据。使用基于层的分级编码格式对较低维度表示进行编码以生成编码数据。这样,较低维度表示被编码为多个层。表示数据梯队的多个层可以用于以不同质量层级逐步地重构信号。以此方式,使用较低分辨率的表示(在实例中,较低空间分辨率的2D“视图”)来对3D点云进行有效地编码。
为了解码此类数据,处理编码数据以从较低维度表示确定三维点云内的点的三维坐标。所述处理可以进一步确定三维点云内的所述一组点的其他相关联属性。
在实施例中,对较低维度表示执行分层分级编码。现在更详细地描述合适的分层分级编码的实例。
本文描述的某些实例涉及用于编码和解码信号的方法。处理数据可包含但不限于获取、导出、输出、接收和重构数据。
本文描述的某些基于层的分级格式使用变化的校正量(例如,也以“残差数据”的形式,或简称为“残差”),以便在给定的质量层级上生成与原始信号最相似(或甚至无损重构)的信号重构。校正量可以基于给定质量层级的预测再现的保真度。残差是在不同质量层级的表示之间计算的,因此它们可以被认为是相对于不同质量层级的公共像素分组计算的层间残差的一种形式。
在优选实例中,编码器或解码器是基于层的分级编码方案或格式的一部分。基于层的分级编码方案的实例包含LCEVC:MPEG-5第2部分LCEVC(“低复杂度增强视频编码”)和VC-6:SMPTE VC-6 ST-2117,前者描述在PCT/GB2020/050695(和相关联的标准文献)中,后者描述在PCT/GB2018/053552(和相关联的标准文献)中,所有这些文献通过引用并入本文。然而,本文所示的概念不必限于这些特定的分级编码方案。
图1示出了点云数据的分级编码方案。特别地,图1示出了实例编码和解码管道。由分级编码器102接收限定点云101的数据。分级编码器102处理点云数据,使得它可以由下面参考图2至图7描述的分级编码器的适应版本编码。在一种情况下,数据可以包括生成点云801的视图(例如,渲染3D点的2D视图);在其他情况下,它可以包括生成表示点的数据结构(例如一组点的坐标和特性的指数列表)。参考本文阐述的点也适用于表面单元模型。分级编码器102采取限定点云的处理数据并且生成一组编码数据103。
在一种情况下,分级编码器102和解码器104可以基于SMPTE VC-6标准格式(ST-2117,以下称为“VC-6”)。下面,图2至图5提供了类似于SMPTE VC-6ST-2117实现方式的实例。在PCT/GB2018/053552中描述了SMPTE VC-6标准格式(ST-2117),其通过引用并入本文。在其他实例中,分级编码器102和解码器104可以基于LCEVC MPEG-5第2部分标准(下文称为“LCEVC”)。图6和图7提供了类似于MPEG-5第2部分LCEVC的实施方式的实例。可以看出,两组实例利用共同的底层操作(例如,下采样、上采样和残差生成),并且可以共享模块化实现技术。
分级编码器102可以获取或生成点云101的一个或多个视图,并且将这些视图编码为一个或多个帧的定制数据平面。定制数据平面可以代替在比较视频编码中使用的三个色彩平面(例如,代替YUV或RGB平面)。定制数据平面可以使得深度信息和其他特性值能够被编码。例如,点云的视图可以被生成为三维点的投影二维表示,其中限定位置和该位置处的值的二维表示的二维允许重构所述点的三维坐标。例如,在一种情况下,二维表示可以包括特定视图的深度图,其中所述值表示视图中点的深度。在其他情况下,可以生成来自不同位置并且具有不同观察方向的多个二维视图,例如作为类似于多个彩色平面的多个“平面”。使用这些多个视图,可以重构原始的三维坐标。
在某些情况下,分类特性可以被编码为这些定制数据平面中的数值,以及像法向向量、色彩信息、透明度信息、运动向量等方面,可以使用多个数据平面进行编码(例如,法向向量的每个元素一个平面)。多个数据帧可以与一个视频帧(F)相关联,所述视频帧然后可以由分级编码器102按照常规视频帧的色彩平面进行编码。诸如本文描述的基于层的编码格式的技术能很容易扩展到对具有多于三个分量平面的视频帧进行编码。这是因为色彩平面通常是并行编码的,因此可以添加定制的数据“平面”,也可以使用相同的方法并行编码。如果点云101是稀疏的,则可能只需要单个视图。如果二维视图中的点重叠,则可能生成多个视图,并且与特定视图最接近的点可以被编码为视图值。通过组合来自多个视图的可以被表示为单个帧或多个帧的多个定制数据平面的数据,可以解决模糊(或遮挡)并且恢复原始点云。其细节将在下面更深入地描述。
一旦分级编码器102将三维点云表示为一系列定制数据平面,则由这些定制数据平面构成的视频数据的“帧”可以按照常规在基于层的编码格式(诸如VC-6或LCEVC)内被编码。在这些基于层的编码格式中,生成基础或核心层级,其是较低质量层级的原始数据的表示,以及一个或多个残差层,其可以用于使用基础层级数据的解码版本来重建较高质量层级的原始数据(例如,给定质量层级的残差可以被添加到基础层级数据的解码版本)。一般来说,如本文所使用的术语“残差”指代参考阵列或参考帧的值与数据的实际阵列或帧之间的差。阵列可以是表示译码单元的一维或二维阵列。举例来说,译码单元可以是对应于输入视频帧的类似大小的区域的2×2或4×4组的残差值。
图2至图5示出了通常对应于上述VC-6的分级编码方案。在此类编码技术中,残差数据被用于逐步提高质量层级。在此提出的技术中,核心层以第一分辨率表示点云的编码数据平面,并且分层分级中的后续层是解码侧以较高分辨率重构数据平面所需的残差数据或调整层。每一层或层级可以被称为梯队指数,使得残差数据是校正较低梯队指数中存在的低质量信息所需的数据。此分级技术中的每一层或梯队指数,尤其是每一残差层,通常是具有许多零值元素的相对稀疏的数据组。当提到梯队指数时,它是指该层级的所有梯队或分量组,例如,在该质量层级执行的变换步骤中产生的所有子组。
以此特定的分级方式中,所描述的数据结构消除了对先前或后续质量层级的任何要求或依赖。可以单独对质量层级进行编码和解码,而无需参考任何其他层。因此,与许多已知的其他分级编码方案相反,其中需要解码最低质量层级以便解码任何更高质量层级,所描述的方法不需要解码任何其他层。然而,下面描述的交换信息的原理也可以适用于其他分级编码方案。
如图2中所示,编码数据表示一组层或层级,这里通常称为梯队指数。参考编码包括一个数据“平面”210的数据帧来描述图2至图5;然而,每帧的多个数据平面可以通过对父数据平面的每个数据平面并行重复所描述的方法进行编码。基础或核心层级表示原始数据平面210,尽管处于最低质量或分辨率层级,并且后续残差数据梯队可以与核心梯队指数处的数据相组合,以逐步更高的分辨率重建原始图像。
为了创建核心-梯队指数,可以使用与要在分级编码操作中使用的层级或梯队指数的数量对应的多个下采样操作201对输入数据平面210进行下采样。所需的下采样操作201比分级中的层级数少一个。在本文说明的所有实例中,存在输出编码数据的4个层级或梯队指数以及相应的3个下采样操作,但是当然应理解,这些仅是为了说明。其中n指示层级的数量,向下采样器的数量是n-1。核心层级R1-n是第三次下采样操作的输出。如上所述,核心层级R1-n对应于最低质量层级的输入数据平面的指示。
为了区分下采样操作201,将按照对输入数据210执行操作的顺序或通过其输出所表示的数据来引用每一个操作。例如,实例中的第三下采样操作2011-n也可以被称为核心下采样器,因为其输出生成核心梯队指数或梯队1-n,也就是说,在此层级的所有梯队的指数是1-n。因此,在此实例中,第一下采样操作201-1对应于R-1下采样器,第二下采样操作201-2对应于R-2下采样器,并且第三下采样操作2011-n对应于核心或R-3下采样器。
如图2中所示,表示核心质量层级R1-n的数据经历上采样操作2021-n,这里称为核心上采样器。第二下采样操作201-2的输出(R-2下采样器的输出,即核心下采样器的输入)和核心上采样器2021-n的输出之间的差异203-2被输出作为第一残差数据R-2。此第一残差数据R-2相应地表示核心电平R-3和用于创建该电平的信号之间的误差。因为在此实例中,该信号本身已经经历了两次下采样操作,所以第一残差数据R-2是调整层,其可以用于以比核心质量层级更高的质量层级但比输入数据平面210更低的质量层级重建原始信号。
图2和图3概念性地示出了如何创建表示更高质量层级的残差数据的变化。
在图2中,第二下采样操作201-2(或R-2下采样器,即用于创建第一残差数据R-2的信号)的输出被上采样202-2,并且第二下采样操作201-2(或R-2下采样器,即R-1下采样器的输出)的输入之间的差异203-1以与创建第一残差数据R-2几乎相同的方式进行计算。此差值相应地是第二残差数据R-1并且表示调整层,所述调整层可以用于使用来自较低层的数据以更高的质量层级重建原始信号。
然而,在图3的变型中,第二下采样操作201-2(或R-2下采样器)的输出与第一残差数据R-2组合或求和304-2,以重建核心上采样器2021-n的输出。在此变型中,正是此重建的数据被上采样202-2,而不是下采样的数据。类似地,将上采样数据与第二下采样操作的输入(或R-2下采样器,即R-1下采样器的输出)进行比较203-1,以创建第二残差数据R-1。
图2和图3的实现方式之间的变化导致两个实现方式之间的残差数据的轻微变化。图2受益于更大的并行化潜力。
重复所述过程或循环以创建第三残差R0。在图2和图3的实例中,输出残差数据R0(即,第三残差数据)对应于最高层级,并且在解码器处被用于重建输入数据平面。在此层级处,差分操作基于与第一次下采样操作的输入相同的输入数据平面。
图4示出了实例编码过程401,用于对数据的层级或梯队指数中的每个进行编码,以产生一组具有梯队指数的编码数据梯队。此编码过程仅用作用于对层级中的每个进行编码的合适编码过程的实例,但是应理解,可以使用任何合适的编码过程。过程的输入是从图2或图3输出的相应层级的残差数据,并且输出是一组编码残差数据的梯队,编码残差数据的梯队一起分级地表示编码数据。
在第一步中,执行变换402。变换可以是如WO2013/171173中描述的方向分解变换或小波或离散余弦变换。如果使用方向分解变换,则可以输出一组四个分量(也称为变换系数)。当提到梯队指数时,它统称为所有方向(A、H、V、D),即4个梯队。然后,在熵编码之前,将分量组量化403。在此实例中,熵编码操作404被耦合到稀疏化步骤405,所述稀疏化步骤利用残差数据的稀疏性来减小总的数据大小,并且涉及将数据元素映射到有序四叉树。在WO2019/111004中进一步描述了熵编码和稀疏化的此类耦合,但是此类过程的精确细节与对本发明的理解无关。每个残差阵列都可以被认为是一个梯队。
上面阐述的过程对应于适用于根据SMPTE ST 2117,VC-6多平面图片格式对用于重构的数据进行编码的编码过程。VC-6是一种灵活的、多分辨率的、仅帧内位流格式,能够压缩任何有序的整数元素网格组,网格中的每个都具有独立的大小,但也是为图片压缩而设计的。它采用数据不可知技术(data agnostic technique)进行压缩,并且能够压缩低位或高位深度的图片。位流的报头可以含有关于图片的多种元数据。
如将理解的,可以使用单独的编码器或编码操作来实现每个梯队或梯队指数。类似地,编码模块可以被分成下采样和比较的步骤,以产生残差数据,并且随后对残差进行编码,或替代地,梯队的步骤中的每个都可以在组合的编码模块中实现。因此,过程可以例如使用4个编码器来实现,每个梯队指数一个编码器,1个编码器和多个编码模块并行或串行操作,或一个编码器对不同的数据组重复操作。
下面给出了重构原始数据平面的实例,所述数据平面已经使用上述示例性过程进行了编码。此重构过程可以被称为锥体重构。有利的是,所述方法提供了一种高效的技术,用于重构在所接收的数据组中编码的数据平面,所接收的数据组可以通过数据流的方式接收,例如,通过单独解码对应于不同图像尺寸或分辨率层级的不同分量组,并且将来自一个解码分量组的细节与来自较低分辨率分量组的放大(upscaled)解码数据进行组合。因此,通过对两个或更多个分量组执行此过程,数据平面内的结构或细节可以针对逐步更高的分辨率或更多数量的像素来重构,而不需要接收最高分辨率分量组的全部或完整细节。相反,所述方法便于逐步增加分辨率越来越高的细节,同时以分阶段的方式从较低分辨率的分量组重构数据平面。
此外,单独解码每个分量组便于并行处理所接收的分量组,从而在多个处理可用的实现方式中提高重构速度和效率。
每个分辨率层级对应于一个质量层级或梯队指数。这是一个集合术语,与描述所有新的输入或所接收的分量组的平面(在此实例中是整数值元素的网格表示)以及指数m循环的输出重构图像相关联。例如,梯队指数为零的重构图像是锥体重构的最后循环的输出。
锥体重构可以是这样一种过程:从初始梯队指数开始重构倒锥体,并且使用新残差的循环来导出更高的梯队指数,直到在梯队指数为零处的最大质量,质量为零。循环可以被认为是此类锥体重构中的步骤,所述步骤由指数m识别。所述步骤通常包括对来自可能的先前步骤的输出数据进行上采样,例如,对解码的第一分量组进行放大,并且采取新的残差数据作为进一步的输入,以便获取将在可能的后续步骤中进行上采样的输出数据。在仅接收到第一分量组和第二分量组的情况下,梯队指数的数量将是两个,并且不存在可能的后续步骤。然而,在分量组或梯队指数的数量为三个或更多个的实例中,输出数据可以在下面的步骤中被逐步上采样。
第一分量组通常对应于初始梯队指数,所述初始梯队指数可以由梯队指数1-N表示,其中N是平面中梯队指数的数量。
通常,对解码的第一分量组的放大包括对初始梯队指数的解码过程的输出应用上采样器。在实例中,这涉及使从初始梯队指数分量组的解码输出的重构图片的分辨率与对应于2-N的第二分量组的分辨率一致。通常,来自较低梯队指数分量组的放大输出对应于较高梯队指数分辨率的预测平面。由于较低分辨率的初始梯队指数平面和上采样过程,预测平面通常对应于数据的平滑或模糊版本。
将来自上述梯队指数的较高分辨率细节添加到此预测平面,提供了组合的、重构的平面组。有利的是,在一个或多个较高梯队指数分量组的所接收的分量组包括残差数据或指示放大的预测数据平面和原始的、未压缩的或预编码的数据平面之间的像素值差异的数据的情况下,为了重构给定分辨率或质量的数据组所需的接收数据量可能显著小于使用其他技术接收相同质量的数据指示所需的数据量或数据率。因此,根据所述方法,通过将以较低分辨率所接收的低细节平面数据与以越来越高的分辨率所接收的越来越多细节的平面数据相组合,降低了数据速率要求。
通常,编码数据组包括一个或多个其他的分量组,其中一个或多个其他的分量组中的每一个对应于比第二分量组更高的数据平面分辨率,并且其中一个或多个其他的分量组中的每一个对应于逐步更高的数据平面分辨率,所述方法包括,对于一个或多个其他的分量组中的每一个,解码分量组以便获取解码组,所述方法进一步包括,对于一个或多个其他的分量组中的每一个,按照对应数据平面分辨率的升序:对具有最高对应数据平面分辨率的重构组进行放大,以便将重构组的对应数据平面分辨率增加到等于其他的分量组的对应数据平面分辨率,并且将重构组和其他的分量组组合在一起,以便产生其他的重构组。
以此方式,此方法可以涉及采取给定分量组层级或梯队指数的重构数据平面输出,放大该重构组,并且将其与上述分量组或梯队指数的解码输出相组合,以产生新的、较高分辨率的重构图片。应理解,对于逐步更高的梯队指数,这可以根据所接收的组中的分量组的总数重复执行。
在典型的实例中,分量组中的每个对应于逐步更高的数据平面分辨率,其中每个逐步更高的数据平面图像分辨率对应于对应数据平面中数据位置(类似于像素)数量的四倍增加。因此,通常,对应于给定分量组的数据平面大小是对应于下面分量组的数据平面的大小或像素数的四倍,或是两倍的高度和两倍的宽度,所述分量组的梯队指数比所讨论的梯队指数小一。例如,其中每个对应数据平面的线性大小相对于下面的数据平面大小是两倍的所接收的一组分量组可以使放大操作更简单。
在所示的实例中,其他的分量组的数量是两个。因此,所接收的组中的分量组的总数为四个。这对应于初始梯队指数为梯队3。
第一分量组可以对应于基础数据平面编码,并且第二分量组和任何其他的分量组对应于残差数据。如上所述,在最低梯队指数(即第一分量组)含有正在传输的数据平面的低分辨率或下采样版本的情况下,所述方法为给定的数据平面大小提供了特别有利的数据速率需求降低。以此方式,对于重构的每个循环,从低分辨率数据平面开始,该数据平面被放大以便产生高分辨率但平滑的版本,然后通过增加该放大的预测数据平面和将以该分辨率传输的实际数据平面之间的差异来改善该数据平面,并且此另外的改善可以在每个循环重复。因此,在初始梯队指数之上的每个分量组只需要含有残差数据,以便重新引入在将原始数据平面向下采样到最低梯队指数时可能已经丢失的信息。
所述方法提供了一种获取数据平面的方式,所述数据平面在接收到含有已经例如通过分解、量化、熵编码和稀疏化被压缩的数据的组时使用残差数据来表示。
当结合原始或传输前数据稀疏的组使用时,稀疏化步骤特别有利,所述原始或传输前数据稀疏的组通常对应于残差数据。残差可以是第一数据平面的元素和第二数据平面的元素之间的差异,通常位于同一位置。此类残差数据通常可能具有高度的稀疏性。这可以被认为是对应于点云的视图,其中细节区域稀疏地分布在细节最少、可忽略或不存在的区域中。此类稀疏数据可以被描述为数据阵列,其中数据以至少二维结构(例如,网格)来组织,并且其中如此组织的大部分数据为零(逻辑上或数字上)或被认为低于某个阈值。残差数据只是一个实例。此外,元数据可能是稀疏的,因此通过此过程在很大程度上减少了大小。发送已经稀疏化的数据允许通过省略发送此类稀疏区域,而是在解码器处的所接收的字节组内的适当位置重新引入它们,来实现所需数据速率的显著降低。
通常,熵解码、去量化和方向合成变换(directional composition transform)步骤是根据编码器或发送所接收的编码数据组的节点所限定的参数来执行的。对于每个梯队指数或分量组,这些步骤用于解码图像数据,以便得到可以按照上面公开的技术与不同梯队指数组合的组,同时允许以数据高效的方式传输每个层级的组。
还可以提供一种根据上面公开的方法来重构编码数据组的方法,其中根据上面公开的方法来执行第一分量组和第二分量组中的每一个的解码。因此,本公开的有利解码方法可以用于所接收的图像数据组中的每个分量组或梯队指数,并且相应地进行重构。
参考图5,现在描述解码实例。接收一组编码数据501,其中所述组包括四个梯队指数,每个梯队指数包括四个梯队:从最高分辨率或质量层级的梯队0到初始梯队的梯队3。梯队3分量组中携带的数据对应于数据平面的基础编码,并且其他分量组含有该传输的数据平面的残差数据。尽管层级中的每个可以输出可被认为是残差的数据,但是初始梯队层级(即梯队3)中的残差有效地对应于数据平面的实际低分辨率版本。在阶段503处,并行处理分量组中的每个,以便对该编码组进行解码。
参考初始梯队指数或核心梯队指数,对每个分量组梯队3到梯队0执行以下解码步骤。
在步骤507处,分量组被去稀疏化。去稀疏化可以是在其他基于层的分级格式中不执行的任选步骤。在此实例中,去稀疏化导致由在每个梯队处所接收的编码字节组重建稀疏二维阵列。在二维阵列内未被接收的位置处分组的零值(由于为了减少传输的数据量而从传输的字节分组中省略了)由此过程重新填充。阵列中的非零值在重建的二维阵列中保持其正确的值和位置,去稀疏化步骤在适当的位置或其间的位置的分组重新填充传输的零值。
在步骤509处,将范围解码器应用于每个梯队的去稀疏化组,以便用像素值替换阵列内的编码符号,所述范围解码器的配置参数对应于在传输之前对传输数据进行编码所使用的参数。根据数据平面的像素值分布的近似值,用所接收的组中的编码符号代替像素值。使用分布的近似值,即数据平面中所有像素值的每个值的相对频率,而不是真实分布,准许减少解码此组所需的数据量,这是因为范围解码器需要分布信息来执行此步骤。如本公开中所描述的,去稀疏化和范围解码的步骤是相互依赖的,而不是顺序的。这由流程图中的箭头形成的回路指示。
在步骤511处,值阵列被去量化。根据在传输之前对分解的数据平面进行量化的参数再次执行此过程。
在去量化之后,在步骤513通过合成变换来变换所述组,所述合成变换包括对去量化的阵列应用逆方向分解操作。这使得根据包括平均、水平、竖直和对角算子的算子组的方向滤波被反转,使得所得阵列是梯队3的数据和梯队2到梯队0的残差数据。
阶段505示出了在利用梯队分量组501中的每一个的合成变换的输出进行重构所涉及的若干循环。阶段515指示从解码器503输出的用于初始梯队的重构的平面数据。在实例中,重构的平面数据515具有64x64的分辨率。在516,对此重构的(2D)平面数据进行上采样,以便将其阵列元素的组成数量增加四倍,从而产生具有128x128分辨率的预测平面数据517。在阶段520处,预测平面数据517被添加到来自梯队2的解码器的输出的解码残差518。这两个128x128大小的阵列相加产生128x128大小的重构阵列,含有来自初始梯队的平滑细节,所述平滑细节被来自梯队2的残差的较高分辨率细节增强。此所得重构的平面数据519可以用于重构点云的近似值,例如在某些情况下,用同样并行解码的其他平面。在本实例中,重构的平面数据519用于其他的循环。在步骤512处,以与步骤516相同的方式对重构的平面数据519进行上采样,以便产生256x256大小的预测阵列524。然后在步骤528将其与解码的梯队1输出526组合,从而产生256x256大小的重构阵列527,所述重构阵列是用残差526的较高分辨率细节增强的平面数据519的放大版本。在530处,此过程被最后一次重复,并且重构的平面数据527被放大到512x512的分辨率,用于在阶段532与梯队0残差组合。由此,获取了表示原始平面数据(例如2D视图或元数据平面)的512x512重构阵列531。
图6和图7示出了可以利用本发明原理的其他的分级编码技术。此技术是一种灵活的、适应性强的、高效的且计算成本低廉的编码格式,其将不同的视频编码格式、基础编解码器(例如,AVC、HEVC或任何其他当前或未来的编解码器)与编码数据的至少两个增强层级相组合。
编码方案的通常结构使用用基础编解码器编码的下采样源信号(诸如转换后的点云数据),将第一层级的校正数据添加到基础编解码器的解码输出以生成校正后的表示,然后将另一层级的增强数据添加到校正后的表示的上采样版本。因此,流被认为是基础流和增强流,它们可以被进一步复用或以其他方式组合以生成编码数据流。在某些情况下,基础流和增强流可以单独传输。如本文描述的,对编码数据的引用可以指增强流或基础流和增强流的组合。基础流可以由硬件解码器解码,而增强流可以适用于具有适当功耗的软件处理实现。此通用编码结构创建了多个自由度,这些自由度允许对许多情况的极大灵活性和适应性,从而使得编码格式适用于许多用例,包含OTT传输、直播流、直播超高清UHD广播等。按照图2至图5的实例,图6和图7的编码方案也允许使用低于完全质量层级的特定质量层级的数据平面重构。如果用于更高质量层级的残差数据不可用,则这些数据平面重构可以使得低3D分辨率点云能够被重构(例如表示更粗糙层级的3D空间细节)。这在包含机器人在内的许多应用中可能是有益的,即使原始的高分辨率点云不能被重构,这些应用仍然能够访问可工作的点云表示。
在某些实例中,可以使用一组网络抽象层单元(NALU)将每个或两个增强流封装到一个或多个增强位流中。NALU意图囊封增强位流以便将增强应用于正确的基础重建帧。NALU可以例如含有对NALU的参考指数,所述NALU含有必须对其应用增强的基础解码器重构帧位流(这里的帧包括针对给定时间样本并行编码的多个数据平面)。以此方式,增强可同步到基础流和组合的每一位流的帧以产生经解码输出视频(即,增强层级的每一帧的残差与基础解码流的帧组合)。
返回到上文所描述的初始过程,其中基础流连同增强流内的两个层级(或子层级)的增强一起提供,一般化编码过程的实例描绘于图6的框图中。初始分辨率的输入数据平面600经处理以生成各种编码流601、602、603。输入数据平面600可以包括点云的2D视图和/或与点云内的点相关的元数据(例如,更多细节参见后面的图11)。通过向基础编解码器(例如,AVC、HEVC或任何其他编解码器)馈送输入数据平面的下采样版本来产生第一编码流(编码基础流)。在一种情况下,输入数据平面可以形成传递到基础编码器613的多平面帧的一部分。编码的基础流可被称为基础层或基础层级。通过处理残差来产生第二编码流(编码的层级1流),所述残差是通过采取来自基础编解码器的重构的平面和输入数据平面的下采样版本之间的差异而获取的。通过处理残差来产生第三编码流(编码的层级2流),所述残差是通过采取重构的基础编解码器数据平面的校正版本的上采样版本和输入数据平面之间的差异而获取的。在某些情况下,图6的组件可提供一般低复杂性编码器。在某些情况下,可通过形成低复杂性编码器的一部分的编码过程来生成增强流,且低复杂性编码器可被配置成控制独立的基础编码器和解码器(例如,封装为基础编解码器)。在其他情况下,基础编码器和解码器可供应为低复杂性编码器的一部分。在一种情况下,图6的低复杂性编码器可被视为用于基础编解码器的一种形式的封套(wrapper),其中基础编解码器的功能性可对于实施低复杂性编码器的实体隐藏。
由下采样组件605示出的下采样操作可以应用于输入数据平面,以产生将由基础编解码器的基础编码器613编码的下采样数据平面。下采样可以相对于表示在竖直方向和水平方向两者上的数据平面或仅在水平方向上的数据平面的2D阵列的维度来完成。基础编码器613和基础解码器614可以由基础编解码器实现(例如,作为公共编解码器的不同功能)。基础编解码器和/或基础编码器613和基础解码器614中的一个或多个可以包括适当配置的电子电路***(例如,硬件编码器/解码器)和/或由处理器执行的计算机程序代码。
每个增强流编码过程可能不一定包含上采样步骤。例如,在图6中,第一增强流在概念上是校正流,而第二增强流被上采样以提供增强层级。
更详细地参见生成增强流的过程,为了生成编码的层级1流,编码的基础流由基础解码器614解码(即,解码操作应用于编码的基础流以生成解码的基础流)。解码可由基础编解码器的解码功能或模式执行。解码的基础流和下采样的输入数据平面之间的差异然后在层级1比较器610处被创建(即,将减法操作应用于下采样的输入数据平面和解码的基础流以生成第一组残差)。比较器610的输出可以被称为第一组残差,其中以基础编码器613、基础解码器614和下采样块605的输出的分辨率为每个阵列元素确定残差值。
所述差接着由第一编码器615(即,层级1编码器)编码以生成编码的层级1流602(即,将编码操作应用于第一组残差以生成第一增强流)。
如上所述,增强流可包括第一增强层级602和第二增强层级603。第一增强层级602可以被认为是经校正的流,例如以比输入数据平面600更低的(2D空间)分辨率向基础编码/解码信号提供校正层级的流。第二增强层级603可被视为将经校正流转换为原始输入视频600的另一增强层级,例如其将增强层级或校正应用于从经校正流重构的信号。
在图6的实例中,通过对另一组残差进行编码来创建第二增强层级603。所述另一组残差由层级2比较器619生成。层级2比较器619确定解码层级1流的上采样版本(例如上采样组件617的输出)和输入数据平面600之间的差异。上采样组件617的输入是通过将第一解码器(即层级1解码器)应用于第一编码器615的输出而生成的。这生成一组解码的层级1残差。这些残差接着在求和组件620处与基础解码器614的输出组合。这有效地将层级1残差应用于基础解码器614的输出。其允许层级1编码和解码过程中的损失由层级2残差校正。求和组件620的输出可被视为表示对解码器处的编码的基础流601和编码的层级1流602应用层级1处理的输出的模拟信号。
如所指出的,将上采样的流与输入数据平面进行比较,这创建了另一组残差(即,将差分操作应用于上采样的重构流以生成另一组残差)。另一组残差接着由第二编码器621(即,层级2编码器)编码为编码的层级2增强流(即,编码操作接着应用于另一组残差以生成另一编码的增强流)。
因此,如图6中所示出和上文所描述,编码过程的输出为基础流601和一个或多个增强流602、603,所述一个或多个增强流优选地包括第一增强层级和另一增强层级。三个流601、602和603可以在有或没有诸如控制头的另外的信息的情况下被组合,以生成用于表示输入数据平面600的视频编码帧的组合流。多个平面可以以此方式并行编码以构成数据帧,所述数据帧表示在给定时间点的点云的数据样本。应注意,图6中示出的组件可以对数据的块或编码单元进行操作,例如对应于特定分辨率层级的数据平面的2x2或4x4部分。这些组件在没有任何块间相依性的情况下操作,因此它们可以并行应用于数据平面内的多个块或编码单元。这不同于对比的视频编码方案,在对比的视频编码方案中,块之间存在相依性(例如空间相依性或时间相依性)。对比的视频编码方案的相依性限制并行水平且需要高得多的复杂性。它们也意味着编码方法不能扩展到非视频应用。
在图7的框图中描绘相应的一般化解码过程。据称,图7可展示对应于图6的低复杂性编码器的低复杂性解码器。低复杂性解码器接收由低复杂性编码器生成的三个流601、602、603连同含有另外的解码信息的标头704。编码的基础流601由对应于在低复杂性编码器中使用的基础编解码器的基础解码器710解码。编码的层级1流602由第一解码器711(即,层级1解码器)接收,所述第一解码器对如由图1的第一编码器615编码的第一组残差进行解码。在第一求和组件712处,将基础解码器710的输出与从第一解码器711获取的解码的残差组合。可以说是层级1重构数据平面的组合数据平面表示被上采样组件713上采样。编码的层级2流103由第二解码器714(即,层级2解码器)接收。第二解码器714对如由图1的第二编码器621编码的第二组残差进行解码。尽管标头704在图7中展示为由第二解码器714使用,但其也可由第一解码器711以及基础解码器710使用。第二解码器714的输出是第二组解码的残差。这些可处于比第一组残差和到上采样组件713的输入更高的分辨率。在第二求和组件715处,来自第二解码器714的第二组残差与上采样组件713的输出(即,上采样的重构的层级1信号)组合,以重构解码数据平面750。然后,可以以类似的方式并行解码每帧的多个数据平面,以提供允许重构点云数据的多个视图。
根据低复杂度编码器,图7的低复杂度解码器可以在给定数据平面的不同块或编码单元上并行操作。另外,可并行地执行由基础解码器710、第一解码器711和第二解码器714中的两个或更多个进行的解码。这是可能的,因为不存在块间相依性。
在解码过程中,解码器可以解析报头704(其可以含有全局配置信息,或平面配置信息,以及数据块配置信息),并且基于这些报头来配置低复杂度解码器。
在图6和图7的每一个中,层级2和层级1编码操作可以包含变换、量化和熵编码的步骤(例如,以该顺序)。这些步骤可以以类似于图4和图5中示出的操作的方式实现。编码操作还可以包含残差分级、加权和滤波。类似地,在解码阶段,可将残差传递通过熵解码器、解量化器(de-quantizer)和逆变换模块(例如,按该次序)。可使用任何合适的编码和相应的解码操作。然而,优选地,层级2和层级1编码步骤可在软件中执行(例如,如由编码装置中的一个或多个中央或图形处理单元执行)。
如本文中所描述的变换可使用定向分解变换,诸如基于哈达玛的变换(Hadamard-based transform)。这两者可包括应用于残差的展平译码单元(即,2×2或4×4残差块)的小内核或矩阵。关于变换的更多细节可例如查阅以引用的方式并入本文中的专利申请PCT/EP2013/059847或PCT/GB2017/052632。编码器可在待使用的不同变换之间选择,例如在待应用的内核的大小之间选择。
所述变换可将残差信息变换到四个表面。举例来说,所述变换可产生以下分量或变换系数:平均、竖直、水平和对角。特定表面可以包括特定分量的所有值,例如第一表面可以包括所有平均值,第二表面可以包括所有竖直值等等。如在本公开中较早提及,由变换输出的这些分量可在此些实施例中被采用为待根据所描述的方法量化的系数。量化方案可用于将残差信号创建为量,使得特定变量可采用仅特定离散量值。在此实例中,熵编码可以包括游程编码(RLE),然后使用霍夫曼编码器处理编码输出。在某些情况下,当需要熵编码时,可使用这些方案中的仅一个。
综上所述,本文中的方法和设备基于一种总体方法,其经由现有编码和/或解码算法(例如MPEG标准,诸如AVC/H.264、HEVC/H.265等;以及非标准算法,诸如VP9、AV1等)构建,所述现有编码和/或解码算法用作相应地用于不同编码和/或解码方法的增强层的基线。实例的总体方法背后的思想是分级编码/解码数据平面,这与MPEG算法族中使用的基于块的方法相反。对数据平面进行分级编码包含生成针对完整数据平面的残差,然后生成针对抽取数据平面等的残差。
如上所述,由于不存在块间相依性,这些过程可以并行应用于帧内包含的不同数据平面的编码单元或块。每个数据平面的编码可以并行执行(例如,使得根据(帧数)*(数据平面分量数)*(每帧的编码单元数)来复制操作)。还应注意,不同的数据平面可以每帧具有不同数量的编码单元,例如元数据数据平面可以以比点云位置数据更低的阵列分辨率进行编码。
因此,如上文所示出且描述,解码过程的输出是(任选的)基础重构,以及在较高层级处的原始信号重构。
在本文中所描述的实例中,残差由编码管道进行编码。这可包含变换、量化和熵编码操作。其还可包含残差分级、加权和滤波。随后将残差传输到解码器,例如作为L-1和L-2增强流,所述增强流可与基础流组合作为混合流(或单独传输)。在一种情况下,设定用于包括基础流和两个增强流的混合数据流的位速率,且接着基于正处理的数据将不同自适应位速率应用于个别流以满足设定的位速率(例如,以低假影水平所感知的高质量视频可通过自适应地将位速率指派给不同个别流(即使在逐帧层级处)而构造,以使得经约束数据可由感知上最有影响的个别流使用,所述个别流可随着图像数据改变而改变)。
如本文描述的残差分组可以被视为稀疏数据,例如,在许多情况下,对于给定的阵列元素或元素分组来说没有差别,并且所得的残差值为零。当查看残差的分布时,将许多概率质量分配到接近零定位的小残差值,例如对于-2、-1、0、1、2等的某些视频值发生得最频繁。在某些情况下,残差值的分布关于0对称或近似对称。
残差可自身被处理为二维图像,例如差的差量图像。以此方式看,数据的稀疏性可以被视为与类似“点”、小“线”、“边”、“角”等的特征相关。已发现这些特征通常不完全相关(例如,在空间上和/或在时间上)。它们具有不同于原始平面数据的特征(例如,点云的视图)。
如上描述的,本发明的实施例利用基于层的分级编码格式来对点云数据进行编码和解码。参考图8至图12描述了如何利用基于层的分级编码格式来对点云数据进行编码和解码的非限制性实例。
图8示出了对三维点云进行编码的方法800的流程图。方法800包括获取801三维点云内的一组点,所述一组点内的点具有三维坐标。三维坐标可以相对于给定的参考点(例如,3D点云的参考帧的原点)。所述方法进一步包括将所述点转换803成二维表示。对于所述一组点内的点,描述坐标的信息被表示为二维表示内的位置和所述位置处的值。所述方法进一步包括使用基于层的分级编码格式对二维表示进行编码805以输出编码数据。基于层的分级编码格式可以符合参考图2至图7讨论的基于层的分级编码格式的实例。基于层的分级编码格式将二维表示编码为多个层。多个层表示用于以不同质量层级逐步重构信号的数据梯队。
二维表示可以包括三维点云的二维视图。在实施例中,对于所述一组点内的点,二维表示内的位置经由所述点在二维视图上的投影来确定,并且所述位置处的值被确定为垂直于二维视图的点的深度。在其他情况下,所述值可以包括点强度(诸如亮度或色度强度),其中可以使用已知的3D重构方法来处理多个视图,以将2D投影转换回3D点云。在某些情况下,被编码为编码位流的另外的数据平面和/或补充数据的另外的元数据被用于便于重构(例如,可以指示深度、允许点视图关联的点识别符、和/或视图的位置和方向)。
在实施例中,生成包括多个对应的二维视图的多个二维表示。在这些实施例中,可以确定多个对应二维视图中的一个或多个以及所述二维视图的一组取向,以便指定所述一组点。
方法800可以进一步包括使用基于层的分级编码方案将二维表示编码为视频帧的定制色彩平面。在实施例中,所述一组点随时间变化并且方法800被重复多个时间步长。任选地,时间步长与视频帧相关联。在某些情况下,每个视图可以被编码为视频数据的标准帧(诸如具有诸如YUV的三种色彩分量)以及提供点云中的点的进一步特性的元数据的数据平面,其中每个点在视频数据帧中具有2D位置。
通过获取与所述一组点中的点相关联的一组特性值,可以将点云数据的点转换成二维表示;以及将所述一组特性值转换成一个或多个另外的二维表示。在实施例中,二维表示内的位置被用作一个或多个另外的二维表示内的点的指数,并且所述一组特性值被设置为一个或多个另外的二维表示内的所述位置处的值。用多于一个值表示的特性可以被表示为多个另外的二维表示。在实施例中,所述一组特性值涉及右眼的色彩、左眼的色彩、阿尔法通道、法向向量的分量、关于对象特征的信息和运动向量的坐标中的一者或多者。
在实施例中,对于所述一组点内的点,三维的第一维和第二维内的坐标值用于指示二维表示内的位置,并且第三维中的坐标值被表示为所述位置处的值。
在实施例中,多个层表示二维表示的不同空间分辨率。多个层可以包括基础层和一个或多个残差数据层(例如,如上面关于图2至图7所描述的)。残差数据可以指示使用第一较低层级重构的二维表示的版本和第二较高层级的二维表示的版本之间的差异。
在实施例中,方法800进一步包括确定二维表示的位深度。在实施例中,方法800进一步包括根据位深度对二维表示中所述位置处的值进行编码。
在实施例中,方法800进一步包括确定针对多个层的一组位深度,多个层中的至少两个具有不同的位深度。在实施例中,方法800进一步包括使用层编码以确定的一组位深度对二维表示进行编码。
在实施例中,方法800进一步包括获取编码的损失层级,损失层级选自包含无损层级和有损层级中的一者或多者的组。在实施例中,方法800进一步包括以所获取的损失层级对二维表示进行编码。
图9示出了对三维点云进行解码的方法900的流程图。解码方法900是与编码方法800对应的方法。
解码方法900包括获取901表示三维点云的编码数据。使用基于层的分级编码格式对编码数据进行编码。如上描述的,基于层的分级编码格式将包括一个或多个数据平面的帧编码为多个层,多个层表示不同的质量层级。换句话说,多个层表示用于以不同质量层级重构信号的数据梯队。上面参考图2至图7讨论了基于层的分级编码格式的实例。
解码方法900包括对编码数据进行解码903以重构与三维点云相关联的二维表示。解码903可以重构与三维点云相关联的多平面二维表示。
方法900包括处理905二维表示以确定三维点云内的一组点的三维坐标。在某些实例中,描述三维坐标的信息被表示为二维表示内的位置和所述位置处的值。处理905可以进一步确定三维点云内的所述一组点的其他相关联属性。
编码方法800和解码方法900表示可以用对应的编码器和解码器实现的互补方面。这些编码器和解码器可以应用于数据流和/或存储的数据文件。在一些非限制性实施例中,通过至少将缩放操作卸载到GPU的一个或多个张量核心来执行解码。
在实施例中,二维表示包括三维点云的二维视图。对于所述一组点内的点,通过从二维表示内的位置的反向投影来确定三维坐标。所述位置处的值指示垂直于二维视图的点的深度。
在实施例中,获取901编码数据包括获取编码的二维数据的帧,帧具有多个相关联的定制数据平面;以及获取与多个相关联的定制数据平面相关联的编码数据。这里的定制数据平面可以被视为定制“色彩”平面,其携带点云数据,而不是常规视频数据帧的三色值。
在实施例中,对定制数据平面的编码数据进行解码903包括获取与定制数据平面的多个层相关联的数据。在实施例中,对定制数据平面的编码数据进行解码903包括以第一较低分辨率重构多个层内的基础层。在实施例中,对定制数据平面的编码数据进行解码903包括通过对基础层进行上采样来重构二维表示的版本。在实施例中,对定制数据平面的编码数据进行解码903包括以第二较高分辨率将多个层内的残差层应用于二维表示的重构版本,以生成第二较高分辨率的二维表示的版本。
在实施例中,方法900进一步包括获取与三维点云相关联的感兴趣区域的指示。在实施例中,方法1000进一步包括对编码数据的子组进行解码以提取与感兴趣区域相关联的二维表示,其中所述一组点包括感兴趣区域内的点。这将在下面参考图12进行更详细的解释。
编码数据的子组可以通过以下方式解码:获取与定制数据平面的多个层相关联的编码数据;对与感兴趣区域相关联的基础层的至少一部分进行解码,所述基础层以第一较低分辨率位于多个层中;以第二较高分辨率对所述多个层内的残差层的一部分进行解码;通过对基础层的部分进行上采样来重构二维表示的版本;以及将残差层的解码部分应用于二维表示的重构版本,以生成第二较高分辨率的二维表示的版本。
在实施例中,方法900进一步包括获取用于渲染三维点云的至少一部分的期望分辨率的指示。在实施例中,方法900进一步包括确定要解码的多个层的子组以提供期望分辨率。在实施例中,方法900进一步包括对多个层的子组的编码数据进行解码以重构与期望分辨率相关联的一个或多个二维表示。在实施例中,方法900进一步包括处理与期望分辨率相关联的一个或多个二维表示以确定对应于三维点云内的所述一组点的期望分辨率的三维坐标。
在实施例中,基于层的分级编码格式与基于层的分级视频编码方案相关联。在此类实施例中,对编码数据进行解码包括:对于基于层的分级视频编码方案内的编码视频帧,提取与所述帧相关联的多个定制数据平面的编码数据,所述多个定制数据平面对关于三维点云内的点的三维坐标和所述点的一个或多个特性的信息进行编码;将用于基于层的分级视频编码方案的解码器应用于所提取的编码数据,以用期望细节层级重构多个定制数据平面,其中多个定制数据平面包括与三维点云相关联的多个二维表示;以及处理多个定制数据平面,以重构三维点云内的所述一组点在与所述帧相关联的时间点的状态。
方法800和900各自允许利用基于层的分级编码格式来高效地对点云进行编码。例如,由点云表示的三维模型可以被转换成一个或多个二维表示,其中点云的每个属性(例如,相对于参考的深度、色彩、法向向量的坐标、运动的存在、运动向量的坐标等)可以被编码,就好像它们是与视频数据帧相关联的色彩平面一样。每个平面可以具有不同的位深度,并且根据不同的标准进行编码(例如,一些在无损模式中,另一些在有损模式中)。
解码方法900(结合编码方法800)允许基于要不时渲染的视点和视口大小,对压缩数据进行部分和/或感兴趣区域的解码。例如,如果视点很远,则可能没有必要将点云解码到最高质量层级。相反,如果视点非常近,则对可能包含在视场中的点云的感兴趣区域进行解码可能就足够了。由于点云数据的材料部分不需要扩展为未压缩的形式,因此,此特性允许在装置存储器中保存比给定装置存储器更大和更详细的“场景”。它还允许将相同的编码文件分发到具有不同处理能力的多个装置,所述多个装置都能够实时解码和渲染点云,只是质量层级不同。
在某些实例中,二维表示可以包括三维点云的二维(或“2.5D”)视图,并且其中对于所述一组点内的点,二维表示内的位置经由点在二维视图上的投影来确定,并且所述位置处的值被确定为垂直于二维视图的点的深度。来自不同的已知参考视点的适当数量的类似结构的2.5D视图可以将从主视点获取的点云与从主视点“遮挡”(即不可见)的另外的点相整合,从而完成点云。
尽管关于点云讨论了实例,但是它们也可以应用于不同的三维模型,诸如表面元素模型。限定每个视图的姿态(例如位置和方向)可以与编码数据一起进行编码(例如在元数据等中)。可以在解码期间对姿态数据进行解码以确定用于特定一组二维表示的视图。在某些实施例中,生成包括多个对应二维视图的多个二维表示,其中确定多个对应二维视图中的一个或多个以及所述二维视图的一组取向,以便指定所述一组点。例如,可以计算最小数量的视图,其允许重构所述一组点中的每个点。这可以考虑二维表示内的任何重叠(例如,具有共同XY坐标但具有不同Z坐标的点)。可以选择视图的姿态,使得所述一组点跨所述一组视图是可分离的。
因此,在方法800的实施例中,对二维表示进行编码包括使用基于层的分级视频编码方案将二维表示编码为视频帧的定制色彩平面。例如,二维表示可以表示三维场景的视图,其可以被编码为正常的视频帧,但是具有定制数量的“色彩”通道或平面,所述定制数量的“色彩”通道或平面含有表示点云所需的信息,诸如深度信息和/或点特性。在此类实施例中,对基于层的分级视频编码方案的改变可以被最小化(并且在某些情况下可能不需要)。可能需要的唯一改变是指示代替常规的三个色彩平面(诸如YUV或RGB),存在k个定制数据平面(其可以被称为“定制色彩平面”)。这些可以被认为是二维阵列,但是其中正常的色彩强度数据被替换为点云数据。
在实施例中,所述一组点随时间变化并且所述方法被重复对于多个时间步长,其中时间步长与视频帧相关联。以此方式,在给定时刻,每个时间步长可以有多个帧(可以被实现为定制数据平面的组)表示不同的视图。静态点云可以由连续的帧来表示,其中连续的帧表示通过不同可用视图的迭代。在实施例中,在基于层的分级视频编码方案中,可以在单个帧数据结构下表示多个视图,不同视图的数据被表示为不同的定制数据帧。在这些情况下,单个帧可以具有由与所述单个帧相关联的不同数据平面表示的多个虚拟帧(例如,数据平面1-5可以与视图1相关联,数据平面6-10与视图2相关联等)。在某些情况下,帧可以用详细说明其特定分辨率(即,x和y范围)的元数据进行编码,这对于每个帧和/或每个视图可以不同。
在实施例中,将点转换成二维表示进一步包括:获取与所述一组点中的点相关联的一组特性值;以及将所述一组特性值转换成一个或多个其他的二维表示,其中二维表示内的位置被用作一个或多个另外的二维表示内的点的指数,并且所述一组特性值被设置为一个或多个其他的二维表示内的所述位置处的值。这些另外的二维表示可以是如上描述的一个或多个帧的数据平面。用多于一个值表示的特性(例如,具有3个元素的法向向量)可以被表示为多个另外的二维表示。所述一组特性值可以涉及右眼的色彩、左眼的色彩、法向向量和运动向量中的一者或多者。
在某些实施例中,对于所述一组点内的点,三维的第一维和第二维内的坐标值用于指示二维表示内的位置,并且第三维中的坐标值被指示为所述位置处的值。例如,视图可以是XY平面的视图,其中深度是Z值,可以由所述位置的值来表示。在一些非限制性实施例中,Z值表示实际深度的数学函数(例如,作为非限制性实例,1/深度),以便为更接近参考点的点的深度信息提供更高的精度。对于与XYZ轴不共面的视图,原始三维坐标可以被投影到给定的视图平面上,并且深度可以被确定为到视图平面的法线或垂直距离。
分级中的多个层可以表示二维表示的不同空间分辨率。例如,可以通过对第一高分辨率二维表示进行下采样来生成不同的层。多个层可以包括基础层(即,分级中的最低层)和一个或多个残差数据层。残差数据可以指示使用第一较低质量层级重构的二维表示的版本与第二较高质量层级(例如,上采样的较低层级和当前层级)的二维表示的版本之间的差异。在一些非限制性实施例中,可以使用不同的编码方法对不同的数据层进行编码。在一些非限制性实施例中,可以借助于传统的基于块的编码方法来对基础层进行编码。
一些实施例可以包括确定二维表示的位深度并且根据位深度对二维表示中所述位置处的值进行编码。例如,输入高分辨率二维表示可能仅需要1位编码二进制特性,但是可能需要16位编码具有超过256个可能值的特性。实例分级视频编码方案可以容易地被配置为具有用于输入的定制位深度。也可以以多个不同的位深度对多个层进行编码。例如,所述方法可以包括:确定针对多个层的一组位深度,多个层中的至少两个具有不同的位深度;以及在确定的一组位深度处使用层编码来对二维表示进行编码。较小的位深度(例如8位及以下)可以提供有损编码(例如,对于8位,相当于用256个二进制量化连续值),但是可以提供较低带宽的编码流和较小的文件大小。
在实施例中,所述方法包括:获取编码的损失层级,所述损失层级是选自包含无损层级和有损层级中的一者或多者的组;以及以所获取的损失层级对二维表示进行编码。可以通过应用量化和/或变换作为编码过程的一部分来实现有损编码。
二维表示可以包括三维点云的二维视图,并且其中对于所述一组点内的点,三维坐标可以通过从二维表示内的位置的反向投影来确定,其中所述位置处的值指示垂直于二维视图的点的深度。在解码期间,获取编码数据可以包括:获取编码的二维数据的帧,所述帧具有多个相关联的定制数据平面;以及获取与多个相关联的定制数据平面相关联的编码数据。例如,如上描述的提供点云的不同视图的一个或多个二维表示可以被表示为编码视频的“帧”的不同数据平面。对定制色彩平面的编码数据进行解码可以包括获取与定制数据平面的多个层相关联的数据。
在某些实例中,这可以包括以第一较低分辨率重构多个层内的基础层。这可能是最低的分辨率。可以通过对基础层进行上采样来重构二维表示的版本。可以以第二较高分辨率将多个层内的残差层应用于二维表示的重构版本,以生成第二较高分辨率的二维表示的版本。可以对分级内的多个层重复这些步骤,以构建点云的越来越详细的表示。然而,如果不期望或不需要点云的高分辨率版本,则也可以提取视频的中间重构版本,例如,以节省处理资源。例如,对于远离渲染视点的机器人装置的移动,粗略的机动移动可能仅需要初始的低分辨率点云。这可以使用层的中间重构版本来构建,并且因此允许更快的解码。在一些非限制性实施例中,至少一个平面的解码可以执行到最高质量层级,而至少另一个平面的解码可以仅执行到低于最高质量层级的给定质量层级,这是基于参数的,诸如与执行渲染的视点的距离。
所述方法可以包括获取与三维点云相关联的感兴趣区域的指示;对编码数据的子组进行解码以提取与感兴趣区域相关联的二维表示,其中所述一组点包括感兴趣区域内的点。指定感兴趣区域可以允许二维表示的部分解码,以仅重构感兴趣体积内的点云体积(例如某些点)。感兴趣区域可以对应于由用户查看的三维模型的一部分和/或需要定位和特性提取的点。在此情况下,对编码数据的子组进行解码可以包括:获取与定制数据平面的多个层相关联的编码数据;对与感兴趣区域相关联的基础层的至少一部分进行解码,所述基础层以第一较低分辨率位于多个层中;以第二较高分辨率对所述多个层内的残差层的一部分进行解码;通过对基础层的部分进行上采样来重构二维表示的版本;以及
将残差层的解码部分应用于二维表示的重构版本,以生成第二较高分辨率的二维表示的版本。在一种情况下,可以对整个基础层进行解码,因为这可以相对快速地执行,而较高分辨率层可以仅部分解码,以节省处理资源和时间。
在其他非限制性实施例中,至少一个平面的解码可以对整个平面执行,而至少另一个平面的解码可以仅对给定的感兴趣区域执行,这是基于参数的,诸如要包含在渲染中的预期视场。
在一些非限制性实施例中,基于完成解码的时序要求,平面中的至少一个的解码可以执行到低于最高质量层级的质量层级,以便在指定时间内完成解码过程。这允许基于解码和渲染装置处可用的处理能力以不同的质量层级对同一编码点云进行解码和渲染。在一些非限制性实施例中,基于最高能力解码和渲染装置中可用的处理能力,点云以非常高的分辨率和质量被编码:相同的编码文件也被发送到最低能力解码和渲染装置,所述最低能力解码和渲染装置仍然能够对其进行处理并且实时渲染,只是质量层级较低。
在某些情况下,所述方法可以包括:获取用于渲染三维点云的至少一部分的期望分辨率的指示;确定要解码的多个层的子组,以提供期望分辨率;以及解码多个层的子组的编码数据,以重构与期望分辨率相关联的一个或多个二维表示;以及处理与期望分辨率相关联的一个或多个二维表示,以确定对应于三维点云内的所述一组点的期望分辨率的三维坐标。例如,三维空间中的分辨率可以由用户或过程提供,并且所述方法可以仅对生成接近期望分辨率的点云的表示所需的多个层的子组进行解码。
在某些情况下,基于层的分级编码格式与基于层的分级视频编码方案相关联,并且对编码数据进行解码包括:对于基于层的分级视频编码方案内的编码视频帧,提取与所述帧相关联的多个定制数据平面的编码数据,所述多个定制数据平面对关于三维点云内的点的三维坐标和所述点的一个或多个特性的信息进行编码;将用于基于层的分级视频编码方案的解码器应用于所提取的编码数据,以在期望时间内以期望细节层级重构多个定制数据平面,其中多个定制数据平面包括与三维点云相关联的多个二维表示;以及处理多个定制数据平面,以重构三维点云内的所述一组点在与所述帧相关联的时间点的状态。
图10和图11示出了如何生成和编码三维(3D)点云的不同二维(2D)视图。
图10示出了3D点云1005的实例1000。点云1005是相对于参考系1010限定的,所述参考系可以包括具有限定的原点的x轴、y轴和z轴。图10示出了在一个时间点t处的点云1005的快照。可以在不同时间t对一系列样本重复本文描述的方法,以表示动态点云。点云1005包括一系列点1015,所述一系列点包括特定的3D坐标和相关联数据,即限定的3D空间中的点。在一种情况下,点可以表示空间内对象的表面。应注意,为了便于解释,本实例中的点已经被放大,并且在实施方式中,它们可能不具有2D或3D空间范围。
图10示出了点云的两个实例视图1020:第一视图1020-A和第二视图1020-B。两个视图仅作为实例示出,并且可以提供从1到n的不同数量的视图。每个视图1020将点1015表示为视图平面上的投影(例如,表示为特定2D像素位置上的投影)。在一种情况下,视图平面中表示的每个点都具有值。此值可以表示深度和/或色彩值。如果所述值表示深度,则视图平面可以与视图的YUV色彩分量平面一起被编码为另外的数据平面。如果仅需要点位置,并且不存在点重叠或遮挡,则可能仅需要一个具有深度信息的视图平面来重构点云(例如,在给定描述视图平面位置和方向的元数据的情况下,通过利用深度数据进行投影)。
图11示出了点云1105的编码过程的实例。点云1105可以是图10的点云1005。在本实例中,每个点被限定为3D空间中的位置加上各种元数据。在图11中,这被示为点数据1125,所述点数据包括3D坐标(具有x、y、z值)、色彩数据(例如,以色彩分类或三色RGB或YUV值的形式)和表示此点所属的表面的法向的法向向量。不同的点云表示可能具有不同的元数据,具体取决于实现方式。
图11示出了对应于图10中的视图平面1020的点云的各种视图1120。在图11的右侧示出了2D阵列1140,其对与投影到每个视图平面上的点相关联的值进行编码。例如,第一数据平面1140-A对投影到特定阵列位置(例如由2D数据平面中的x和y坐标表示)上的四个点的值进行编码。值可以包括点数据1125的编码和/或可以表示距视图平面的深度(例如,点在正交于视图平面的方向上的距离)。在图11中,生成N个数据平面来对点数据1125进行编码,这形成了表示帧1160的不同平面分量的数据平面组1150。因此,数据平面组1150可以以与视频数据帧的色彩分量或平面相同的方式编码,在此情况下,有N个而不是3个不同的平面。图11的过程可以在一段时间内对多个帧重复。例如,在空间中移动的对象可以由如图所示编码的单个移动点来表示。
图12示出了如何指示感兴趣区域,使得无需对来自每层的所有编码数据进行解码。在图12中,底层或基础层1201被解码以生成二维表示,但是对于较高层(1203,1205),仅与感兴趣区域1207相关的数据可以被解码。例如,底层或基础层1201可以允许构建点云的粗略或低分辨率版本,然而可能仅对于感兴趣区域1207需要较高分辨率版本(例如具有更精确的点位置),所述感兴趣区域可以是原始点云空间内的小体积。如果层的残差数据被组织为可以独立编码和解码的块(例如2x2或4x4的像素分组)(例如在时间或空间上不依赖于其他块),则仅与感兴趣区域1207相关的块可以被提取和解码,以导出与所述感兴趣区域1207内的点相关的数据。
本文参考附图描述的实例的至少一些方面可以被实现为专用芯片组,诸如专用组成电路或配置的现场可编程门阵列,或在处理***或处理器中执行的计算机过程,以及计算机程序(例如载体上或载体中的计算机程序)适于将实例付诸实践。载体可以是任何能够承载程序的实体或装置。本文描述的技术可以通过软件或硬件实现,或者可以使用软件和硬件的组合来实现。它们可以包含配置设备以实施和/或支持本文描述的任何或所有技术。
以上实施例应理解为说明性实例。设想另外的实施例。应理解,关于任一个实施例描述的任何特征可单独使用,或者与所描述的其他特征结合使用,并且还可与任何其他实施例的一个或多个特征结合使用,或者与任何其他实施例的任何组合结合使用。此外,在不脱离由所附权利要求书限定的本发明的范围的情况下,还可采用上文未描述的等效者和修改。
Claims (22)
1.一种对三维点云进行编码的方法,其包括:
获取所述三维点云内的一组点,所述一组点内的点具有三维坐标;
将所述点转换成二维表示,其中对于所述一组点内的点,描述所述坐标的信息被表示为所述二维表示内的位置和所述位置处的值;以及
使用基于层的分级编码格式对所述二维表示进行编码以输出编码数据,其中所述基于层的分级编码格式将所述二维表示编码为多个层,所述多个层表示用于以不同质量层级逐步重构信号的数据梯队。
2.根据权利要求1所述的方法,其中所述二维表示包括所述三维点云的二维视图,并且其中对于所述一组点内的所述点,所述二维表示内的所述位置经由所述点在所述二维视图上的投影来确定,并且所述位置处的所述值被确定为垂直于所述二维视图的所述点的深度。
3.根据权利要求2所述的方法,其中生成包括多个对应二维视图的多个二维表示,其中确定多个对应二维视图中的一个或多个和所述二维视图的一组取向,以便指定所述一组点。
4.根据权利要求1至3中任一项所述的方法,其中对所述二维表示进行编码包括:
使用基于层的分级编码方案将所述二维表示编码为视频帧的定制色彩平面。
5.根据权利要求4所述的方法,其中所述一组点随时间变化并且所述方法被重复多个时间步长,其中时间步长与所述视频帧相关联。
6.根据权利要求1至5中任一项所述的方法,其中将所述点转换成二维表示进一步包括:
获取与所述一组点中的点相关联的一组特性值;以及
将所述一组特性值转换成一个或多个另外的二维表示,其中所述二维表示内的所述位置被用作所述一个或多个另外的二维表示内的所述点的指数,并且所述一组特性值被设置为所述一个或多个另外的二维表示内的所述位置处的值。
7.根据权利要求6所述的方法,其中用多于一个值表示的特性被表示为多个另外的二维表示。
8.根据权利要求6或权利要求7所述的方法,其中所述一组特性值涉及针对右眼的色彩、针对左眼的色彩、阿尔法通道、法向向量分量、关于对象特征的信息和运动向量坐标中的一者或多者。
9.根据权利要求1至8中任一项所述的方法,其中对于所述一组点内的点,所述三维的第一维和第二维内的坐标值被用于指示所述二维表示内的位置,并且第三维中的坐标值被表示为所述位置处的值。
10.根据权利要求1至9中任一项所述的方法,其中所述多个层表示所述二维表示的不同空间分辨率。
11.根据权利要求10所述的方法,其中所述多个层包括基础层和一个或多个残差数据层,残差数据指示使用第一较低层级重构的所述二维表示的版本与第二较高层级的所述二维表示的版本之间的差异。
12.根据权利要求1至11中任一项所述的方法,其包括:
确定针对所述二维表示的位深度;以及
根据所述位深度对所述二维表示中所述位置处的所述值进行编码。
13.根据权利要求1至12中任一项所述的方法,其包括:
确定针对所述多个层的一组位深度,所述多个层中的至少两个具有不同的位深度;以及
在确定的一组位深度处使用层编码对所述二维表示进行编码。
14.根据权利要求1至13中任一项所述的方法,其包括:
获取所述编码的损失层级,所述损失层级选自包含无损和有损层级中的一者或多者的组;以及
以所获取的损失层级对所述二维表示进行编码。
15.一种对三维点云进行解码的方法,其包括:
获取表示所述三维点云的编码数据,所述编码数据使用基于层的分级编码格式进行编码,其中所述基于层的分级编码格式将数据帧编码为多个层,所述多个层表示不同的质量层级;
对所述编码数据进行解码以重构与所述三维点云相关联的二维表示;以及
处理所述二维表示以确定所述三维点云内的一组点的三维坐标,其中描述三维坐标的信息被表示为所述二维表示内的位置和所述位置处的值。
16.根据权利要求15所述的方法,其中所述二维表示包括所述三维点云的二维视图,并且其中对于所述一组点内的点,所述三维坐标通过从所述二维表示内的所述位置的反向投影来确定,其中所述位置处的所述值指示垂直于所述二维视图的所述点的深度。
17.根据权利要求15或权利要求16所述的方法,其中获取编码数据包括:
获取编码的二维数据的帧,所述帧具有多个相关联的定制数据平面;以及
获取与所述多个相关联的定制数据平面相关联的编码数据。
18.根据权利要求15至17中任一项所述的方法,其中对定制色彩平面的所述编码数据进行解码包括:
获取与定制数据平面的所述多个层相关联的数据;
以第一较低分辨率重构所述多个层内的基础层;
通过对所述基础层进行上采样来重构所述二维表示的版本;以及
以第二较高分辨率将所述多个层内的残差层应用于所述二维表示的重构版本,以生成所述第二较高分辨率的所述二维表示的版本。
19.根据权利要求15至18中任一项所述的方法,其包括:
获取与所述三维点云相关联的感兴趣区域的指示;
对所述编码数据的子组进行解码以提取与所述感兴趣区域相关联的二维表示,
其中所述一组点包括所述感兴趣区域内的点。
20.根据权利要求19所述的方法,其中对所述编码数据的子组进行解码包括:
获取与定制数据平面的所述多个层相关联的编码数据;
对与所述感兴趣区域相关联的基础层的至少一部分进行解码,所述基础层以第一较低分辨率位于所述多个层内;
以第二较高分辨率对所述多个层内的残差层的一部分进行解码;
通过对所述基础层的所述部分进行上采样来重构所述二维表示的版本;以及
将所述残差层的解码部分应用于所述二维表示的所述重构版本,以生成所述第二较高分辨率的所述二维表示的版本。
21.根据权利要求15至20中任一项所述的方法,其包括:
获取用于渲染所述三维点云的至少一部分的期望分辨率的指示;
确定要解码的所述多个层的子组以提供所述期望分辨率;以及
对所述多个层的所述子组的编码数据进行解码以重构与所述期望分辨率相关联的一个或多个二维表示;以及
处理与所述期望分辨率相关联的所述一个或多个二维表示,以确定对应于所述三维点云内的所述一组点的所述期望分辨率的三维坐标。
22.根据权利要求15至21中任一项所述的方法,其中所述基于层的分级编码格式与基于层的分级视频编码方案相关联,并且对所述编码数据进行解码包括:
对于所述基于层的分级视频编码方案内的编码视频帧,提取与所述帧相关联的多个定制数据平面的编码数据,所述多个定制数据平面对关于所述三维点云内的点的三维坐标和所述点的一个或多个特性的信息进行编码;
将用于所述基于层的分级视频编码方案的解码器应用于所提取的编码数据,以用期望的细节层级重构所述多个定制数据平面,其中所述多个定制数据平面包括与所述三维点云相关联的多个二维表示;以及
处理所述多个定制数据平面,以在与所述帧相关联的时间点重构所述三维点云内的所述一组点的状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB2001839.6A GB202001839D0 (en) | 2020-02-11 | 2020-02-11 | Use of tiered hierarchical coding for point cloud compression |
GB2001839.6 | 2020-02-11 | ||
PCT/GB2021/050335 WO2021161028A1 (en) | 2020-02-11 | 2021-02-11 | Use of tiered hierarchical coding for point cloud compression |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115152224A true CN115152224A (zh) | 2022-10-04 |
Family
ID=69897255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180013512.XA Pending CN115152224A (zh) | 2020-02-11 | 2021-02-11 | 使用分层分级编码进行点云压缩 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230080852A1 (zh) |
EP (1) | EP4104444A1 (zh) |
JP (1) | JP2023513564A (zh) |
CN (1) | CN115152224A (zh) |
GB (2) | GB202001839D0 (zh) |
WO (1) | WO2021161028A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690332A (zh) * | 2022-12-30 | 2023-02-03 | 华东交通大学 | 点云数据处理方法、装置、可读存储介质及电子设备 |
CN116385571A (zh) * | 2023-06-01 | 2023-07-04 | 山东矩阵软件工程股份有限公司 | 一种基于多维化动态可变分辨率的点云压缩方法及*** |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112106063A (zh) * | 2018-03-20 | 2020-12-18 | Pcms控股公司 | 用于动态调整点云的细节级别***及方法 |
CN113273211A (zh) | 2018-12-14 | 2021-08-17 | Pcms控股公司 | 用于对空间数据进行程序化着色的***和方法 |
CN112634448B (zh) * | 2020-12-22 | 2022-12-30 | 郑州大学 | 全球离散点云***驱动的空间格网通用构建方法 |
GB2610004A (en) * | 2022-01-11 | 2023-02-22 | V Nova Int Ltd | Integrating a decoder for hierachical video coding |
WO2024003577A1 (en) * | 2022-07-01 | 2024-01-04 | V-Nova International Ltd | Applications of layered encoding in split computing |
GB2620655A (en) | 2022-11-01 | 2024-01-17 | V Nova Int Ltd | Image processing using residual frames and differential frames |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EA201492098A1 (ru) | 2012-05-14 | 2015-04-30 | Лука Россато | Кодирование и декодирование на основании смешивания последовательностей выборок с течением времени |
WO2019034807A1 (en) * | 2017-08-15 | 2019-02-21 | Nokia Technologies Oy | SEQUENTIAL CODING AND DECODING OF VOLUMETRIC VIDEO |
US10789733B2 (en) * | 2017-11-22 | 2020-09-29 | Apple Inc. | Point cloud compression with multi-layer projection |
CN111699696B (zh) | 2017-12-06 | 2023-11-28 | V-诺瓦国际有限公司 | 用于对字节流进行编码和解码的方法和设备 |
JP7476104B2 (ja) * | 2018-01-19 | 2024-04-30 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | 点群処理 |
-
2020
- 2020-02-11 GB GBGB2001839.6A patent/GB202001839D0/en not_active Ceased
-
2021
- 2021-02-11 CN CN202180013512.XA patent/CN115152224A/zh active Pending
- 2021-02-11 GB GB2212873.0A patent/GB2607822A/en active Pending
- 2021-02-11 WO PCT/GB2021/050335 patent/WO2021161028A1/en unknown
- 2021-02-11 EP EP21711315.8A patent/EP4104444A1/en active Pending
- 2021-02-11 JP JP2022548598A patent/JP2023513564A/ja active Pending
- 2021-02-11 US US17/904,093 patent/US20230080852A1/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690332A (zh) * | 2022-12-30 | 2023-02-03 | 华东交通大学 | 点云数据处理方法、装置、可读存储介质及电子设备 |
CN115690332B (zh) * | 2022-12-30 | 2023-03-31 | 华东交通大学 | 点云数据处理方法、装置、可读存储介质及电子设备 |
CN116385571A (zh) * | 2023-06-01 | 2023-07-04 | 山东矩阵软件工程股份有限公司 | 一种基于多维化动态可变分辨率的点云压缩方法及*** |
CN116385571B (zh) * | 2023-06-01 | 2023-09-15 | 山东矩阵软件工程股份有限公司 | 一种基于多维化动态可变分辨率的点云压缩方法及*** |
Also Published As
Publication number | Publication date |
---|---|
JP2023513564A (ja) | 2023-03-31 |
GB2607822A (en) | 2022-12-14 |
GB202001839D0 (en) | 2020-03-25 |
US20230080852A1 (en) | 2023-03-16 |
GB202212873D0 (en) | 2022-10-19 |
EP4104444A1 (en) | 2022-12-21 |
WO2021161028A1 (en) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230080852A1 (en) | Use of tiered hierarchical coding for point cloud compression | |
US10528004B2 (en) | Methods and apparatus for full parallax light field display systems | |
GB2618714A (en) | Low complexity enhancement video coding | |
US20220385911A1 (en) | Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling | |
US20230050860A1 (en) | An apparatus, a method and a computer program for volumetric video | |
US20220217345A1 (en) | Quantization of residuals in video coding | |
US20220182654A1 (en) | Exchanging information in hierarchical video coding | |
CN116458163A (zh) | 多层信号编码的分布式分析 | |
CN114531952A (zh) | 视频编码中的残差的量化 | |
US20240040160A1 (en) | Video encoding using pre-processing | |
KR20230107627A (ko) | 후처리 제어를 이용한 비디오 디코딩 | |
EP4049452B1 (en) | Embedding data within transformed coefficients using bit partitioning operations | |
EP4373096A1 (en) | Point cloud data transmission device and method, and point cloud data reception device and method | |
WO2023187307A1 (en) | Signal processing with overlay regions | |
EP4329311A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
KR101259536B1 (ko) | 홀로그래픽 광원의 공간 스케일러블 인코딩 및 디코딩 장치 및 방법 | |
EP4373097A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
GB2614054A (en) | Digital image processing | |
WO2024079383A1 (en) | An apparatus, a method and a computer program for volumetric video | |
GB2614763A (en) | Upsampling filter for applying a predicted average modification | |
GB2617491A (en) | Signal processing with overlay regions | |
WO2023037040A1 (en) | An apparatus, a method and a computer program for volumetric video |
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 |