CN112399165A - 解码方法及装置以及计算机设备和存储介质 - Google Patents
解码方法及装置以及计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112399165A CN112399165A CN202010777770.2A CN202010777770A CN112399165A CN 112399165 A CN112399165 A CN 112399165A CN 202010777770 A CN202010777770 A CN 202010777770A CN 112399165 A CN112399165 A CN 112399165A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- determining
- threshold
- points
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开实施例提供了解码方法及装置以及计算机设备和存储介质。该方法包括:为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
Description
引用并入
本申请要求于2019年8月14日提交的第62/886,813号美国临时申请以及于2020年8月3日提交的第16/983,586号美国正式申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及点云编解码的技术领域。具体地,本公开提供了解码方法及装置以及计算机设备和存储介质。
背景技术
本文提供的背景描述是为了总体呈现本公开的上下文。就在本背景部分中描述的工作以及在提交时可能不具有现有技术资格的本说明书的各方面而言,目前指定的发明人的工作既没有明确地也没有隐含地被承认为本公开的现有技术。
已开发各种技术来捕获和表示诸如世界中的对象、世界中的环境、三维(3D)空间中的对象、3D空间中的环境的世界。世界的3D表示可以实现更身临其境的交互和通信形式。点云可以被用作世界的3D表示。点云是3D空间中的一组点,每个点具有相关联的属性,例如,颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、形态属性和各种其它属性。这样的点云可以包括大量的数据,并且存储和传输可能即昂贵又耗时。
在现有的点云中,平方的点对点误差被均分,这表明点云中的所有点具有相同的重要性。然而,在一些示例中,例如在自主驾驶的应用中,离车辆不同距离的点可以具有不同的重要性。例如,离车辆非常远的点可能不如离车辆较近或中等距离的点重要。因此,需要新的质量度量以捕获不同点的重要性的差异。
发明内容
本公开实施例提供一种解码方法,包括:
为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
本公开实施例提供一种解码装置,包括:
第一确定模块,用于为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
第二确定模块,用于基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
第三确定模块,用于基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
第四确定模块,用于基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
本公开实施例提供一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现本公开任一实施例所述的方法。
本公开实施例提供一种存储指令的非暂时性计算机可读介质,所述指令当由计算机执行时,使得所述计算机执行本公开任一实施例所述的方法。
本公开的实施例提供了新的质量度量以捕获不同点的重要性的差异,从而提高了视频解码的效率。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更显而易见,在附图中:
图1是根据实施例的通信系统的简化框图的示意图;
图2是根据实施例的流式传输系统的简化框图的示意图;
图3示出了根据一些实施例的用于对点云帧进行编码的编码器的框图;
图4示出了根据一些实施例的用于对与点云帧相对应的压缩码流进行解码的解码器的框图;
图5是根据实施例的视频解码器的简化框图的示意图;
图6是根据实施例的视频编码器的简化框图的示意图;
图7示出了根据一些实施例的用于对点云帧进行编码的编码器的框图;
图8示出了根据一些实施例的用于对与点云帧相对应的压缩码流进行解码的解码器的框图;
图9示出了根据本公开的实施例的示例性点对点误差;
图10示出了根据一些实施例的概述方法示例的流程图;以及
图11是根据实施例的计算机系统的示意图。
具体实施方式
本公开的各方面提供了点云编解码(PCC)技术。PCC可以根据诸如被称为G-PCC的基于几何形状的方案、被称为V-PCC的基于视频编解码的方案等的各种方案来执行。根据本公开的一些方面,G-PCC直接对3D几何形状进行编码,且是与视频编解码没有很多共性的纯粹基于几何形状的方法,而V-PCC主要基于视频编解码。例如,V-PCC可以将3D云的点映射到2D网格(图像)的像素。V-PCC方案可以利用通用视频编解码器进行点云压缩。运动图像专家组(MPEG)正在研究分别使用G-PCC方案和V-PCC方案的G-PCC标准和V-PCC标准。
在下文中,点云通常可以指3D空间中的一组点,每个点具有相关联的属性,例如,颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、形态属性和各种其它属性。点云可被用于将对象或场景重建为这些点的组合。这些点可以在各种设置中使用多个照相机和深度传感器来捕获,并且可以由数千到数十亿个点组成,以便逼真地表示重建的场景。补丁通常可以指由点云描述的表面的连续子集。在示例中,补丁包括具有彼此偏离小于阈值量的表面法向量的点。
需要压缩技术来减少表示点云所需的数据量。因此,需要用于在实时通信和六自由度(6DoF)虚拟现实中使用的点云的有损压缩的技术。此外,寻求在用于自主驾驶和文化遗产应用等的动态映射的上下文中的无损点云压缩的技术。
V-PCC可用于利用现有的视频编解码器将动态点云的几何形状、占用率和纹理压缩为三个独立的视频序列。解释三个视频序列所需的额外元数据被分别压缩。整个码流的一小部分是元数据,该元数据可以使用软件实施方式来有效地编码/解码。大量信息可以由视频编解码器处理。
图1示出了根据本公开的实施例的通信系统(100)的简化框图。通信系统(100)包括可以经由例如网络(150)而彼此通信的多个终端设备。例如,通信系统(100)包括一对经由网络(150)互连的终端设备(110)和(120)。在图1的示例中,第一对终端设备(110)和(120)可以执行点云数据的单向传输。例如,终端设备(110)可以压缩由传感器105捕获的点云(例如,表示结构的点),该传感器105与终端设备(110)连接。可以经由网络(150)将压缩的点云(例如以码流的形式)发送到另一终端设备(120)。终端设备(120)可以从网络(150)接收压缩的点云,对码流进行解压缩以重建点云,并且适当地显示重建的点云。单向数据传输在媒体服务应用等中可为常见的。
在图1的示例中,可以将终端设备(110)和(120)图示为服务器和个人计算机,但是本公开的原理可以不限于此。本公开的实施例适用于膝上型计算机、平板计算机、智能电话、游戏终端、媒体播放器和/或专用三维(3D)设备。网络(150)表示能够在终端设备(110)和(120)之间发送压缩的点云数据的任意数量或类型的网络。网络(150)可以包括例如有线和/或无线通信网络。网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。除非在下文中进行解释,否则网络(150)的具体架构和拓扑在本公开中不受限制。
图2示出了根据实施例的流式传输系统(200)的简化框图。图2的示例是点云的所公开主题的应用。所公开的主题可以被等同地应用于诸如3D远程呈现应用、虚拟现实应用等的其它支持点云的应用。
流式传输系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括点云源(201),例如光检测和测距(LIDAR)系统、3D照相机、3D扫描仪、在软件中生成未压缩的点云的图形生成部件、和生成例如未压缩的点云(202)的部件等。在示例中,点云(202)包括由3D照相机捕获的点。点云(202)被描绘为粗线,以强调在与压缩的点云(204)(压缩的点云的码流)相比时的高数据量。压缩的点云(204)可以由电子设备(220)生成,电子设备(220)包括被耦合到点云源(201)的编码器(203)。编码器(203)可以包括硬件、软件或其组合,以实现或实施以下更详细地描述的所公开的主题的各方面。被描绘为细线以强调在与点云(202)的流相比时的较低的数据量的压缩的点云(204)(或压缩的点云(204)的码流)可以被存储在流式传输服务器(205)上以供将来使用。诸如图2中的客户端子系统(206)和(208)的一个或多个流式传输客户端子系统可以访问流式传输服务器(205)以检索压缩的点云(204)的副本(207)和(209)。客户端子系统(206)可以包括例如在电子设备(230)中的解码器(210)。解码器(210)对压缩的点云的输入副本(207)进行解码,并创建重建的点云的输出流(211),该输出流可以在显示装置(212)上被显示。
应注意,电子设备(220)和(230)可包括其它组件(未示出)。举例来说,电子设备(220)可包括解码器(未示出),且电子设备(230)还可包括编码器(未示出)。
在一些流式传输系统中,压缩的点云(204)、(207)和(209)(例如,压缩的点云的码流)可以根据某些标准来压缩。在一些示例中,视频编解码标准用于点云的压缩。这些标准的示例包括高效视频编解码(HEVC)、通用视频编解码(VVC)等。
图3示出了根据一些实施例的用于对点云帧进行编码的V-PCC编码器(300)的框图。在一些实施例中,V-PCC编码器(300)可用于通信系统(100)和流式传输系统(200)中。例如,编码器(203)可以被配置为并且以与V-PCC编码器(300)类似的方式操作。
V-PCC编码器(300)接收作为未压缩的输入的点云帧,并生成与压缩的点云帧对应的码流。在一些实施例中,V-PCC编码器(300)可以从诸如点云源(201)等的点云源接收点云帧。
在图3的示例中,V-PCC编码器(300)包括补丁生成模块(306)、补丁打包模块(308)、几何图像生成模块(310)、纹理图像生成模块(312)、补丁信息模块(304)、占用图模块(314)、平滑模块(336)、图像填充模块(316)和(318)、组扩展模块(320)、视频压缩模块(322)、(323)和(332)、辅助补丁信息压缩模块(338)、熵压缩模块(334)和多路复用器(324)。
根据本公开的方面,V-PCC编码器(300)将3D点云帧转换成用于将压缩的点云转换回解压缩的点云的基于图像的表示以及一些元数据(例如,占用图和补丁信息)。在一些示例中,V-PCC编码器(300)可以将3D点云帧转换为几何图像、纹理图像和占用图,然后使用视频编解码技术将几何图像、纹理图像和占用图编码为码流。通常,几何图像是具有填充有与投影到像素的点相关联的几何值的像素的2D图像,并且填充有几何值的像素可以被称为几何样本。纹理图像是具有填充有与投影到像素的点相关联的纹理值的像素的2D图像,并且填充有纹理值的像素可以被称为纹理样本。占用图是具有像素的2D图像,该像素填充有指示像素是被补丁占用还是未被补丁占用的值。
补丁生成模块(306)将点云分割为可以重叠或不重叠的一组补丁(例如,补丁被定义为由点云描述的表面的连续子集),使得每个补丁可以由相对于2D空间中的平面的深度场来描述。在一些实施例中,补丁生成模块(306)旨在将点云分解为具有平滑边界的最小数量的补丁,同时还最小化重建误差。
补丁信息模块(304)可收集指示补丁的大小和形状的补丁信息。在一些示例中,补丁信息可被打包成图像帧,并且然后由辅助补丁信息压缩模块(338)编码以生成压缩的辅助补丁信息。
补丁打包模块(308)被配置为将提取的补丁映射到二维(2D)网格上,同时最小化未使用的空间,并确保网格的每个M×M(例如,16×16)块与唯一的补丁相关联。有效的补丁打包可以或者通过最小化未使用空间或者确保时间一致性来直接影响压缩效率。
几何图像生成模块(310)可以生成与给定的补丁位置处的点云的几何形状相关联的2D几何图像。纹理图像生成模块(312)可以生成与给定的补丁位置处的点云的纹理相关联的2D纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)利用在打包过程期间计算的3D到2D映射来将点云的几何形状和纹理存储为图像。为了更好地处理多个点被投影到相同的样本的情况,可以将每个补丁投影到两个图像(称为图层)上。在示例中,几何图像由YUV420-8比特格式的WxH单色帧表示。为了生成纹理图像,纹理生成过程利用重建的/平滑的几何形状,以便计算要与重采样的点相关联的颜色。
占用图模块(314)可以生成描述每个单元处的填充信息的占用图。例如,占用图像包括二进制图,该二进制图为网格的每个单元指示该单元是属于空白空间还是属于点云。在示例中,占用图使用针对每个像素描述该像素是否被填充的二进制信息。在另一示例中,占用图使用针对每个像素描述该像素块是否被填充的二进制信息。
可以使用无损编解码或有损编解码来压缩由占用图模块(314)生成的占用图。当使用无损编解码时,熵压缩模块(334)用于压缩占用图。当使用有损编解码时,视频压缩模块(332)用于压缩占用图。
应当注意,补丁打包模块(308)可以在被打包在图像帧中的2D补丁之间留下一些空白空间。图像填充模块(316)和(318)可以填充空白空间(称为填充),以便生成可以适用于2D视频和图像编解码器的图像帧。图像填充也称为背景填充,其可以用冗余信息填充未使用的空间。在一些示例中,良好的背景填充最低限度地增加比特率并且不在补丁边界周围引入明显的编解码失真。
视频压缩模块(322)、(323)和(332)可以基于适当的视频编解码标准(诸如HEVC、VVC等)对2D图像(诸如填充的几何图像、填充的纹理图像和占用图)进行编码。在示例中,视频压缩模块(322)、(323)和(332)是单独操作的单个组件。应当注意,在另一示例中,视频压缩模块(322)、(323)和(332)可被实现为单个组件。
在一些示例中,平滑模块(336)被配置为生成重建的几何图像的平滑的图像。平滑的图像可被提供给纹理图像生成模块(312)。然后,纹理图像生成模块(312)可以基于重建的几何图像来调整纹理图像的生成。例如,当补丁形状(例如,几何形状)在编码和解码期间稍微失真时,在生成纹理图像时可以考虑该失真以校正补丁形状中的失真。
在一些实施例中,组扩展模块(320)被配置为利用冗余低频内容来填充对象边界周围的像素,以便提高编解码增益以及重建的点云的视觉质量。
多路复用器(324)可以将压缩的几何图像、压缩的纹理图像、压缩的占用图和压缩的辅助补丁信息多路复用为压缩码流。
图4示出了根据一些实施例的用于对与点云帧相对应的压缩码流进行解码的V-PCC解码器(400)的框图。在一些实施例中,V-PCC解码器(400)可以用在通信系统(100)和流式传输系统(200)中。例如,解码器(210)可以被配置为以与V-PCC解码器(400)类似的方式操作。V-PCC解码器(400)接收压缩码流,并基于压缩码流生成重建的点云。
在图4的示例中,V-PCC解码器(400)包括解复用器(432)、视频解压缩模块(434)和(436)、占用图解压缩模块(438)、辅助补丁信息解压缩模块(442)、几何重建模块(444)、平滑模块(446)、纹理重建模块(448)和颜色平滑模块(452)。
解复用器(432)可以接收压缩码流并将压缩码流分离成压缩的纹理图像、压缩的几何图像、压缩的占用图和压缩的辅助补丁信息。
视频解压缩模块(434)和(436)可以根据适当的标准(例如,HEVC、VVC等)对压缩的图像进行解码并输出解压缩的图像。例如,视频解压缩模块(434)对压缩的纹理图像进行解码,并且输出解压缩的纹理图像;视频解压缩模块(436)对压缩的几何图像进行解码并输出解压缩的几何图像。
占用图解压缩模块(438)可以根据适当的标准(例如,HEVC、VVC等)对压缩的占用图进行解码,并输出解压缩的占用图。
辅助补丁信息解压缩模块(442)可根据合适的标准(例如,HEVC、VVC等)对压缩的辅助补丁信息进行解码,并输出解压缩的辅助补丁信息。
几何重建模块(444)可以接收解压缩的几何图像,并且基于解压缩的占用图和解压缩的辅助补丁信息生成重建的点云几何形状。
平滑模块(446)可以平滑补丁边缘处的不一致。平滑过程旨在减轻由于压缩伪像而在补丁边界处出现的潜在不连续性。在一些实施例中,可将平滑滤波器应用于位于补丁边界上的像素以减轻可能由压缩/解压缩引起的失真。
纹理重建模块(448)可以基于解压缩的纹理图像和平滑几何形状来确定点云中的点的纹理信息。
颜色平滑模块(452)能够平滑着色的不一致。3D空间中的非相邻补丁通常在2D视频中彼此相邻地被打包。在一些示例中,来自非相邻补丁的像素值可能由基于块的视频编解码器混合。颜色平滑的目的是减少出现在补丁边界处的可见伪像。
图5示出了根据本公开的实施例的视频解码器(510)的框图。视频解码器(510)可以用在V-PCC解码器(400)中。例如,视频解压缩模块(434)和(436)以及占用图解压缩模块(438)可以被类似地配置为视频解码器(510)。
视频解码器(510)可包括解析器(520)以根据诸如已编码视频序列的压缩的图片重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffmancoding)、具有或不具有上下文灵敏度的算术编码等等。解析器(520)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、条带、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(PredictionUnit,PU)等等。解析器(520)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(520)可对从缓冲存储器接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(521)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(520)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(520)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(510)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可输出包括样本值的块,所述样本值可输入到聚合器(555)中。
在一些情况下,缩放器/逆变换单元(551)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)采用从当前图片缓冲器(558)提取的已重建信息生成大小和形状与正在重建的块相同的周围块。举例来说,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)基于每个样本,将帧内预测单元(552)生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元(551)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(553)可访问参考图片存储器(557)以提取用于预测的样本。在根据符号(521)对提取的样本进行运动补偿之后,这些样本可由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(553)从参考图片存储器(557)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(521)的形式而供运动补偿预测单元(553)使用,所述符号(521)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(557)提取的样本值的内插、运动矢量预测机制等等。
聚合器(555)的输出样本可在环路滤波器单元(556)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频序列(也称作已编码视频码流)中的参数,且所述参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,所述样本流可输出到显示装置以及存储在参考图片存储器(557),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦对应于当前图片的已编码图片被完全重建,且已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)可变为参考图片存储器(557)的一部分,且可在开始重建后续已编码图片之前重新分配另一(或新的)当前图片缓冲器。
视频解码器(510)可根据例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
图6示出了根据本公开的实施例的视频编码器(603)的框图。视频编码器(603)可以在V-PCC编码器(300)中用于压缩点云。在示例中,视频压缩模块(322)和(323)以及视频压缩模块(332)被配置为类似于编码器(603)。
视频编码器(603)可接收诸如填充的几何图像、填充的纹理图像等的图像,并生成压缩的图像。
根据实施例,视频编码器(603)可实时或在由应用所要求的任何其它时间约束下,将源视频序列(图像)的图片编码且压缩成已编码视频序列(压缩的图像)。施行适当的编码速度是控制器(650)的一个功能。在一些实施例中,控制器(650)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(650)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(650)可用于具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(603)。
在一些实施例中,视频编码器(603)在编码环路中进行操作。作为简单的描述,在实施例中,编码环路可包括源编码器(630)(例如,负责基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在本申请所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
“本地”解码器(633)的操作可与例如已在上文结合图5详细描述视频解码器(510)的“远程”解码器相同。然而,另外简要参考图5,当符号可用且熵编码器(645)和解析器(520)能够无损地将符号编码/解码为已编码视频序列时,包括解析器(520)在内的视频解码器(510)的熵解码部分,可能无法完全在本地解码器(633)中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
在操作期间,在一些实施例中,源编码器(630)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的一个或多个先前已编码图片,所述运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选作所述输入图片的预测参考。
本地视频解码器(633)可基于源编码器(630)创建的符号,对可指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可为有损过程。当已编码视频数据可在视频解码器(图6中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制解码过程,所述解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片存储器(634)中。以此方式,视频编码器(603)可在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可针对编码引擎(632)执行预测搜索。即,对于将要编码的新图片,预测器(635)可在参考图片存储器(634)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(635)获得的搜索结果,可确定输入图片可具有从参考图片存储器(634)中存储的多个参考图片取得的预测参考。
控制器(650)可管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
控制器(650)可管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:
帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
视频编码器(603)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(603)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
视频可作为呈时间序列的多个源图片(图像)。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在实施例中,将正在编码/解码的特定图片分割成块,正在编码/解码的特定图片被称作当前图片。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。所述运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,所述运动矢量可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码次序都在视频中的当前图片之前(但按显示次序可能分别是过去和将来)第一参考图片和第二参考图片。可通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。具体来说,可通过第一参考块和第二参考块的组合来预测所述块。
此外,合并模式技术可用于帧间图片预测中以改善编码效率。
根据本申请公开的一些实施例,帧间图片预测和帧内图片预测等预测的执行以块为单位。举例来说,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。更进一步的,还可将每个CTU以四叉树拆分为一个或多个编码单元(coding unit,CU)。举例来说,可将64×64像素的CTU拆分为一个64×64像素的CU、4个32×32像素的CU、或16个16×16像素的CU。在实施例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。此外,取决于时间和/或空间可预测性,将CU拆分为一个或多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。在实施例中,编码(编码/解码)中的预测操作以预测块为单位来执行。以亮度预测块作为预测块为例,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等等。
图7示出了根据实施例的G-PPC编码器(700)的框图。编码器(700)可以被配置为接收点云数据并压缩点云数据以生成携带压缩的点云数据的码流。在实施例中,编码器(700)可以包括位置量化模块(710)、重复点去除模块(712)、八叉树编码模块(730)、属性传递模块(720)、细节层次(LOD)生成模块(740)、属性预测模块(750)、残差量化模块(760)、算术编解码模块(770)、逆残差量化模块(780)、加法模块(781)以及用于存储重建的属性值的存储器(790)。
如图所示,可以在编码器(700)处接收输入点云(701)。点云(701)的位置(例如,3D坐标)被提供给位置量化模块(710)。位置量化模块(710)被配置为对坐标进行量化以生成量化的位置。可选的重复点去除模块(712)被配置为接收量化的位置并执行滤波过程以识别和去除重复点。八叉树编码模块(730)被配置为从重复点去除模块(712)接收已滤波的位置,并且执行基于八叉树的编码过程以生成占用代码序列,该占用代码序列描述体素的3D网格。将占用代码提供给算术编解码模块(770)。
属性传递模块(720)被配置为接收输入点云的属性,并且当多个属性值与各个体素相关联时,执行属性传递过程以确定每个体素的属性值。可以对从八叉树编码模块(730)输出的重新排序的点执行属性传递过程。将传送操作之后的属性提供给属性预测模块(750)。LOD生成模块(740)被配置为对从八叉树编码模块(730)输出的重新排序的点进行操作,并将这些点重新组织成不同的LOD。将LOD信息提供给属性预测模块(750)。
属性预测模块(750)根据来自LOD生成模块(740)的LOD信息所指示的基于LOD的顺序来处理点。属性预测模块(750)基于存储在存储器(790)中的当前点的一组相邻点的重建的属性来生成当前点的属性预测。随后可以基于从属性传递模块(720)接收的原始属性值和本地生成的属性预测来获得预测残差。当在相应的属性预测过程中使用候选索引时,可以将与所选择的预测候选相对应的索引提供给算术编解码模块(770)。
残差量化模块(760)被配置为从属性预测模块(750)接收预测残差,并执行量化以生成量化的残差。将量化的残差提供给算术编解码模块(770)。
逆残差量化模块(780)被配置为从残差量化模块(760)接收量化的残差,并且通过执行在残差量化模块(760)处执行的量化操作的逆操作来生成重建的预测残差。加法模块(781)被配置为接收来自逆残差量化模块(780)的重建的预测残差和来自属性预测模块(750)的相应的属性预测。通过组合重建的预测残差和属性预测,生成重建的属性值并将其存储到存储器(790)。
算术编解码模块(770)被配置为接收占用代码、候选索引(如果使用的话)、量化的残差(如果生成的话)和其它信息,并且执行熵编码以进一步对接收的值或信息进行压缩。因此,可以生成携带压缩的信息的压缩码流(702)。码流(702)可以被发送到或以其他方式提供给对压缩码流进行解码的解码器,或者可以被存储在存储设备中。
图8示出了根据实施例的G-PCC解码器(800)的框图。解码器(800)可被配置为接收压缩码流,并执行点云数据解压缩以解压缩该码流以生成已解码的点云数据。在实施例中,解码器(800)可以包括算术解码模块(810)、逆残差量化模块(820)、八叉树解码模块(830)、LOD生成模块(840)、属性预测模块(850)和用于存储重建的属性值的存储器(860)。
如图所示,可以在算术解码模块(810)处接收压缩码流(801)。算术解码模块(810)被配置为对压缩码流(801)进行解码,以获得点云的量化的残差(如果生成的话)和占用代码。八叉树解码模块(830)被配置为根据占用代码确定点云中的点的重建的位置。LOD生成模块(840)被配置为基于重建的位置将点重新组织成不同的LOD,并确定基于LOD的顺序。逆残差量化模块(820)被配置为基于从算术解码模块(810)接收的量化的残差来生成重建的残差。
属性预测模块(850)被配置为执行属性预测过程,以根据基于LOD的顺序确定点的属性预测。例如,可以基于存储在存储器(860)中的当前点的相邻点的重建的属性值来确定当前点的属性预测。属性预测模块(850)可将属性预测与相应的重建的残差进行组合以生成当前点的重建的属性。
在一个示例中,从属性预测模块(850)生成的重建的属性的序列与从八叉树解码模块(830)生成的重建的位置一起对应于已解码的点云(802),该已解码的点云(802)是从解码器(800)输出的。另外,重建的属性也被存储到存储器(860)中,并且随后可以用于导出后续点的属性预测。
在各种实施例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用硬件、软件或其组合来实现。例如,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用诸如一个或多个处理器或集成电路(IC)之类的处理电路来实现,一个或多个处理器或集成电路(IC)用或不用诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)之类的软件来操作。在另一示例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可被实现为包括存储在非易失性(例如,非暂时性)计算机可读存储介质中的指令的软件或固件。这些指令在由诸如一个或多个处理器的处理电路执行时,使处理电路执行编码器(300)、解码器(400)、编码器(700)和/或解码器(800)的功能。
应当注意,被配置为实施本文中所揭示的属性预测技术的属性预测模块(750)和(850)可以被包括在其它解码器或编码器中,该其它解码器或编码器可具有与图7和图8中所示的结构类似或不同的结构。另外,在各种示例中,编码器(700)和解码器(800)可以被包括在同一设备中,或者被包括在分离的设备中。
点云已经广泛用于例如自主驾驶车辆中,用于对象识别、跟踪和定位。在一个应用中,点云数据首先由车辆上的传感器捕获,由点云编码器处理和压缩,然后被存储在云存储器中供以后使用。存储的点云的一种用途是训练用于环境感测、对象识别、跟踪和定位的算法。
由于包括有损压缩的有损处理可以将失真引入到原始点云中,因此测量相对于原始点云的已处理的点云的质量度量很重要。简单而有意义的质量度量是重要的。一种此类质量度量是点对点误差(D1)的峰值信噪比(PSNR),如下所示:
其中,A是峰值信号电平,并且MSE是已处理的点云与原始点云之间的点对点误差的均方。
图9示出了根据本公开的实施例的示例性点对点误差。在图9中,A和B分别表示原始点云和已处理的点云。假设A和B中的点在同一坐标系中。坐标系对于生成原始点云的装置(例如,车辆上的激光雷达传感器)可以是本地的。对于每个点,例如点云B中的点bi(901),识别对应点,例如点云A中的点aj(902)。所识别的点aj(902)可以是坐标中的点bi(901)的最近的邻居。误差矢量E(i,j)(903)可以通过将原始(或参考)点云A中的所识别的点aj(902)连接到点云B中的点bi(901)来确定。误差矢量(903)的长度是点对点误差(D1),即,
eB,A(i)=|E(i,j)| 等式(2)
因此,MSE可以基于整个点云B的点对点误差来计算,
其中,NB是点云B中的点数。
可以看出,对于等式(3)中的所有点,平方的点对点误差被均分,这表明点云B中的所有点具有相同的重要性。然而,在一些示例中,例如在自主驾驶的应用中,离车辆不同距离的点可以具有不同的重要性。例如,离车辆非常远的点可能不如离车辆较近或中等距离的点重要。本公开呈现了用于质量度量以捕获不同点的重要性的差异的方法。
本公开包括针对PCC的质量度量的实施例,PCC例如用在自主车辆或其它移动对象中。在一些实施例中,车辆或对象的速度可用于产生质量度量。
所提出的方法可以单独使用或以任何顺序组合使用。进一步地,方法(或实施例)、编码器和解码器中的每一个可由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
如上所述,本公开呈现了可以基于点的重要性对点对点误差进行加权的质量度量。另外,质量度量还可以考虑车辆速度的影响。
加权均方误差可以如下描述:
其中,w(bi)是点云B中的点bi的权重因子。
在一个示例中,w(bi)=1,即,相等权重的情况,其与等式(3)中的情况完全相同。
在一些实施例中,点云B中非常靠近(例如,在一定距离内)和/或非常远离(例如,超过一定距离)的点(例如,用于自主驾驶中)可能是不可靠的。因此,对于点云B中的每个点,当相应点的位置的范数值(i)小于第一阈值和/或(ii)大于第二阈值时,可以将相应点的权重因子设置为零。在其它实施例中可以使用一个或多个附加阈值。当相应点在点云B中的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,相应点的权重因子可以是正常数。在一个实施例中,权重因子可以如下描述:
其中,d0和d1是两个阈值,并且0<d0<d1,C是正常数,|bi|是3D点bi=(bx,by,bz)的范数值。
在一些实施例中,可以强调靠近(例如,在一定距离内)的点和/或在中等距离(例如,在一定距离范围内)的点的权重因子。例如,当点云B中的点的子集的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,点云B中的点的子集的权重因子可以与点云B中的点的子集的位置的范数值成负相关。在一个实施例中,权重因子可以如下描述:
其中,C1是正常数,例如C1=1、1/2或1/3等;并且C2是另一个非负常数且被用作偏置。
在一些实施例中,点的重要性还与生成原始点云(例如,点云A)的装置的速度相关。例如,在自主驾驶系统中,点的重要性可以与车速相关。如果车辆快速移动,则远距离点变得更重要,因为识别或跟踪远处对象以避免碰撞可能更重要。因此,考虑将车辆速度作为权重因子可能是重要的。在一个实施例中,权重因子可以如下描述:
其中,V是车辆的3D速度矢量,给定为V=(Vx,Vy,Vz),|V|是速度矢量的范数值;C1是正常数,而C2和C3是非负常数,作为两个偏置因子。
在实施例中,当点云B中的点的子集的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,点云B中的点的子集的权重因子可以与速度矢量的范数值成正相关。
例如,在等式(7)中,如果|V|是小的,则权重因子可以以与等式(6)类似的方式表现,即,当|bi|是大的时,对应的权重因子是小的。随着|V|变得更大,即使对于不同距离的点,权重因子也可以增加。当|V|接近无穷大时,权重因子可以变为常数,即,所有点具有相同的重要性。在所有情况下,即使当车速|V|变的更大时差异变的更小,但是远距离点的权重因子可以小于靠近的点和/或中等距离的点的权重因子。
在一些实施例中,可以将一个或多个阈值应用于车辆速度。例如,当点云B中的点的子集的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,基于速度矢量的范数值与第三阈值之间的比较来确定点云B中的点的子集的权重因子。在一个实施例中,当车速大于第三阈值时,远距离点的权重因子大于靠近的点和/或中等距离的点的权重因子。当车速小于第三阈值时,远距离点的权重因子小于靠近的点和/或中等距离的点的权重因子。公式如下:
其中,C1是正常数,而C2和C3是非负常数。
具体地,如果|V|>C2/C1,则|bi|的指数变为正,使得远距离点的权重因子大于靠近的点或中等距离的点的权重因子。如果|V|=C2/C1,则权重因子对于所有点可以是相同的。如果|V|<C2/C1,则权重因子可以以与等式(7)类似的方式表现。
在一些实施例中,权重因子不仅取决于车辆速度值,还取决于车辆速度的方向。在一个实施例中,当点云B中的点的子集的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,点云B中的点的子集的权重因子与一个方向上的速度矢量的范数值成正相关。这种权重因子的一个示例可以从等式(7)扩展,如下所示:
其中,C1、C4和C7是正常数,而C2、C3、C5、C6、C8和C9是非负偏置。
在一些实施例中,当点云B中的点的子集的位置的范数值(i)等于或大于第一阈值和/或(ii)等于或小于第二阈值时,基于在一个方向上的速度矢量的范数值与第四阈值之间的比较来确定点云B中的点的子集的权重因子。在一个实施例中,当一个方向上的速度矢量的范数值大于第四阈值时,远距离点的权重因子大于靠近的点和/或中等距离的点的权重因子。当一个方向上的速度矢量的范数值小于第四阈值时,远距离点的权重因子小于靠近的点和/或中等距离的点的权重因子。等式(8)可以被扩展为包括车辆速度的方向的影响,如下所示:
其中,C1、C3和C5是正常数,而C2、C1、C6和C7是非负常数。
例如,如果|Vx|>C2/C1,则|bx|的指数变为正,使得远距离点的权重因子大于较近的点或中等距离的点的权重因子。
应当注意,尽管本公开中所呈现的一些示例性质量度量利用车辆速度来测量包括点云压缩的点云处理的质量,但基于本公开的其它示例性质量度量也是适用的。进一步地,虽然已经描述了某些距离阈值/范围,但是应当注意,在其它实施例中,这些范围和/或距离阈值可以单独使用或者以不同的组合使用。另外,在一些实施例中,用于计算权重的不同方法可以用于不同的距离范围。
图10示出了概述根据本公开的实施例的方法(1000)的流程图。方法(1000)可以在用于对点云进行编码的编码过程期间使用。在各种实施例中,方法(1000)由处理电路执行,处理电路诸如终端设备(110)中的处理电路,执行编码器(203)和/或解码器(201)的功能的处理电路,执行编码器(300)、解码器(400)、编码器(700)和/或解码器(800)的功能的处理电路等。在一些实施例中,方法(1000)用软件指令实现,因此当处理电路执行软件指令时,处理电路执行方法(1000)。该方法开始于(S1001)并进行到(S1010)。
在(S1010)处,方法(1000)为第一点云中的每个点确定第二点云中的对应点。第一点云是基于第二点云的已处理的点云。然后方法(1000)进行到步骤(S1020)。
在(S1020)处,方法(1000)基于第二点云中的对应点为第一点云中的每个点确定对应的误差矢量。然后,方法(1000)进行到步骤(S1030)。
在(S1030)处,方法(1000)为第一点云中的每个点确定对应的权重因子。例如,可以基于第一点云中的相应点的位置来确定对应的权重因子。然后,方法(1000)进行到步骤(S1040)。
在(S1040)处,方法(1000)基于误差矢量和权重因子确定第一点云的质量度量。然后,方法进行到(S1099)并结束。
根据本公开的各方面,方法(1000)基于第一点云中的相应点的速度矢量和位置,为第一点云中的每个点确定对应的权重因子。
在实施例中,对于第一点云中的每个点,方法(1000)基于第一点云中的相应点的位置的范数值(i)小于第一阈值或(ii)大于第二阈值,将第一点云中的相应点的对应权重因子确定为零。
在实施例中,对于第一点云中的每个点,方法(1000)基于第一点云中的相应点的位置的范数值(i)等于或大于第一阈值以及(ii)等于或小于第二阈值,将第一点云中的相应点的对应权重因子确定为正常数。
在实施例中,第一点云中的点的子集的位置的范数值(i)等于或大于第一阈值和(ii)等于或小于第二阈值,并且第一点云中的点的子集的对应权重因子与第一点云中的点的子集的位置的范数值成负相关。
在实施例中,第一点云中的点的子集的位置的范数值(i)等于或大于第一阈值和(ii)等于或小于第二阈值,并且第一点云中的点的子集的对应权重因子与速度矢量的范数值成正相关。
在实施例中,第一点云中的点的子集的位置的范数值(i)等于或大于第一阈值和(ii)等于或小于第二阈值,并且基于速度矢量的范数值与第三阈值之间的比较来确定第一点云中的点的子集的对应权重因子。
在实施例中,第一点云中的点的子集的位置的范数值(i)等于或大于第一阈值和(ii)等于或小于第二阈值,并且第一点云中的点的子集的对应权重因子与一个方向上的速度矢量的范数值成正相关。
在实施例中,第一点云中的点的子集的位置的范数值(i)等于或大于第一阈值和(ii)等于或小于第二阈值,并且基于一个方向上的速度矢量的范数值与第四阈值之间的比较来确定第一点云中的点的子集的对应权重因子。
在实施例中,第一点云和第二点云都使用相同的坐标系,并且对于第一点云中的每个点,方法(1000)将第二点云中的对应点确定为第二点云中最接近第一点云中的相应点的点。
本公开实施例提供一种解码方法,包括:
为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
本公开实施例提供一种解码装置,包括:
第一确定模块,用于为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
第二确定模块,用于基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
第三确定模块,用于基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
第四确定模块,用于基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
本公开实施例提供一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现本公开任一实施例所述的方法。
本公开实施例提供一种存储指令的非暂时性计算机可读介质,所述指令当由计算机执行时,使得所述计算机执行本公开任一实施例所述的方法。
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中提供的方法。
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图11示出了适于实现所公开主题的某些实施例的计算机系统(1100)。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图11所示的用于计算机系统(1100)的组件本质上是示例性的,并且不旨在对实现本申请的实施例的计算机软件的使用范围或功能提出任何限制。也不应将组件的配置解释为对计算机系统(1100)的示范性实施例中所说明的组件中的任一者或组合具有任何依赖性或要求。
计算机系统(1100)可以包括某些人机界面输入设备。所述人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出)对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些媒体,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的一个或多个(仅描绘其中一个):键盘(1101)、鼠标(1102)、触控板(1103)、触摸屏(1110)、数据手套(未示出)、操纵杆(1105)、麦克风(1106)、扫描仪(1107)、照相机(1108)。
计算机系统(1100)还可以包括某些人机界面输出设备。所述人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。所述人机界面输出设备可包括触觉输出设备(例如通过触摸屏(1110)、数据手套(未示出)或操纵杆(1105)的触觉反馈,但也可有不是输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(1109)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(1110),其中每个都有或没有触摸屏输入功能、触觉反馈功能——其中一些可通过如立体画面输出等手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。这些视觉输出设备(诸如屏幕(1110))可以通过图形适配器(1150)连接到系统总线(1148)。
计算机系统(1100)还可以包括人类可访问的存储设备及其相关联介质,如包括具有CD/DVD的CD/DVD ROM/RW(1120)等介质(1121)的光学介质、拇指驱动器(1122)、可移动硬盘驱动器或固态驱动器(1123)、如磁带和软盘(未示出)的传统磁介质、如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合本申请的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统(1100)还可以包括到一个或多个通信网络(1155)的网络接口(1154)。例如,一个或多个通信网络(1155)可以是无线的、有线的、光学的。一个或多个通信网络(1155)还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。一个或多个通信网络(1155)的示例包括诸如以太网的局域网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要连接到某些通用数据端口或外围总线(1149)(例如,计算机系统(1100)的USB端口)的外部网络接口适配器;其它系统通常通过连接到如下所述的系统总线集成到计算机系统(1100)的内核(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(1100)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
前述的人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统(1100)的内核(1140)。
内核(1140)可包括一个或多个中央处理单元(CPU)(1141)、图形处理单元(GPU)(1142)、以现场可编程门阵列(FPGA)(1143)形式存在的专用可编程处理单元、用于特定任务的硬件加速器(1144)等。上述设备以及只读存储器(ROM)(1145)、随机存取存储器(1146)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、SSD等)(1147)等可通过系统总线(1148)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(1148),以便通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到内核的系统总线(1148),或通过外围总线(1149)进行连接。外围总线的体系结构包括外部控制器接口PCI、通用串行总线USB等。
CPU(1141)、GPU(1142)、FPGA(1143)和加速器(1144)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(1145)或RAM(1146)中。过渡数据也可以存储在RAM(1146)中,而永久数据可以存储在例如内部大容量存储器(1147)中。通过使用高速缓存可实现对任何存储器设备的快速存储和检索,高速缓存可与一个或多个CPU(1141)、GPU(1142)、大容量存储器(1147)、ROM(1145)、RAM(1146)等紧密关联。
所述计算机可读介质上可具有用于执行各种计算机实现操作的计算机代码。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为示例而非限制,具有体系结构(1100)的计算机系统,特别是内核(1140),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供功能,执行包含在一个或多个有形的计算机可读介质中的软件。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非瞬时性质的内核(1140)的特定存储器,诸如内核内部大容量存储器(1147)或ROM(1145)。实现本申请的各种实施例的软件可以存储在这种设备中并且由内核(1140)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得内核(1140)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(1146)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其他方式包含在电路(例如,加速器(1144))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本申请包括任何合适的硬件和软件组合。
虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、置换和各种替代属于本申请的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。
Claims (13)
1.一种解码方法,其特征在于,包括:
为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子包括:
基于所述第一点云中的所述相应点的速度矢量和所述位置,为所述第一点云中的每个点确定所述对应的权重因子。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子包括:
基于所述第一点云中的所述相应点的所述位置的范数值小于第一阈值或大于第二阈值,将所述第一点云中的所述相应点的所述对应的权重因子确定为零。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子包括:
基于所述第一点云中的所述相应点的所述位置的范数值等于或大于第一阈值和等于或小于第二阈值,将所述第一点云中的所述相应点的所述对应的权重因子确定为正常数。
5.根据权利要求1所述的方法,其特征在于,
所述第一点云中的点的子集的位置的范数值等于或大于第一阈值和等于或小于第二阈值,且
所述第一点云中的所述点的所述子集的对应的权重因子与所述第一点云中的所述点的所述子集的位置的范数值成负相关。
6.根据权利要求2所述的方法,其特征在于,
所述第一点云中的点的子集的位置的范数值等于或大于第一阈值和等于或小于第二阈值,且
所述第一点云中的所述点的所述子集的对应的权重因子与所述速度矢量的范数值成正相关。
7.根据权利要求2所述的方法,其特征在于,
所述第一点云中的点的子集的位置的范数值等于或大于第一阈值和等于或小于第二阈值,且
所述方法还包括:
基于所述速度矢量的范数值与第三阈值之间的比较,确定所述第一点云中的所述点的所述子集的对应的权重因子。
8.根据权利要求2所述的方法,其特征在于,
所述第一点云中的点的子集的位置的范数值等于或大于第一阈值和等于或小于第二阈值,且
所述第一点云中的所述点的所述子集的对应的权重因子与一个方向上的所述速度矢量的范数值成正相关。
9.根据权利要求2所述的方法,其特征在于,
所述第一点云中的点的子集的位置的范数值等于或大于第一阈值和等于或小于第二阈值,且
所述方法还包括:
基于一个方向上的所述速度矢量的范数值与第四阈值之间的比较,确定所述第一点云中的所述点的所述子集的对应的权重因子。
10.根据权利要求1所述的方法,其特征在于,
所述第一点云和所述第二点云使用相同的坐标系,且
所述为第一点云中的每个点确定第二点云中的对应点包括:对于所述第一点云中的每个点,将所述第二点云中的所述对应点确定为所述第二点云中最接近所述第一点云中的所述相应点的点。
11.一种解码装置,其特征在于,包括:
第一确定模块,用于为第一点云中的每个点确定第二点云中的对应点,所述第一点云为基于所述第二点云的已处理的点云;
第二确定模块,用于基于所述第二点云中的所述对应点,为所述第一点云中的每个点确定对应的误差矢量;
第三确定模块,用于基于所述第一点云中的相应点的位置,为所述第一点云中的每个点确定对应的权重因子;以及
第四确定模块,用于基于所述误差矢量和所述权重因子,确定所述第一点云的质量度量。
12.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现权利要求1至10中的任一项所述的方法。
13.一种存储指令的非暂时性计算机可读介质,其特征在于,所述指令当由计算机执行时,使得所述计算机执行权利要求1至10中的任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962886813P | 2019-08-14 | 2019-08-14 | |
US62/886,813 | 2019-08-14 | ||
US16/983,586 | 2020-08-03 | ||
US16/983,586 US11514610B2 (en) | 2019-08-14 | 2020-08-03 | Method and apparatus for point cloud coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112399165A true CN112399165A (zh) | 2021-02-23 |
CN112399165B CN112399165B (zh) | 2022-03-25 |
Family
ID=74566736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010777770.2A Active CN112399165B (zh) | 2019-08-14 | 2020-08-05 | 解码方法及装置以及计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11514610B2 (zh) |
CN (1) | CN112399165B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257978A1 (zh) * | 2021-06-11 | 2022-12-15 | 维沃移动通信有限公司 | 点云编码方法、解码方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220327742A1 (en) * | 2019-06-26 | 2022-10-13 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method |
US11373276B2 (en) * | 2020-01-09 | 2022-06-28 | Tencent America LLC | Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070264A1 (en) * | 2014-09-05 | 2016-03-10 | SZ DJI Technology Co., Ltd | Velocity control for an unmanned aerial vehicle |
US20160078610A1 (en) * | 2014-09-11 | 2016-03-17 | Cyberoptics Corporation | Point cloud merging from multiple cameras and sources in three-dimensional profilometry |
CN105424026A (zh) * | 2015-11-04 | 2016-03-23 | 中国人民解放军国防科学技术大学 | 一种基于点云轨迹的室内导航定位方法与系统 |
US20170347120A1 (en) * | 2016-05-28 | 2017-11-30 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
WO2018053257A1 (en) * | 2016-09-16 | 2018-03-22 | Second Spectrum, Inc. | Methods and systems of spatiotemporal pattern recognition for video content development |
US20180089903A1 (en) * | 2015-04-15 | 2018-03-29 | Lytro, Inc. | Layered content delivery for virtual and augmented reality experiences |
US10032276B1 (en) * | 2016-08-29 | 2018-07-24 | PerceptIn, Inc. | Visual-inertial positional awareness for autonomous and non-autonomous device |
WO2018162406A1 (en) * | 2017-03-07 | 2018-09-13 | Thomson Licensing | Quality metric for point clouds |
US20180283882A1 (en) * | 2017-04-04 | 2018-10-04 | Appropolis Inc. | Location-based services system and method therefor |
WO2018221454A1 (ja) * | 2017-05-31 | 2018-12-06 | パイオニア株式会社 | 地図作成装置、制御方法、プログラム及び記憶媒体 |
US20190073744A1 (en) * | 2017-09-01 | 2019-03-07 | Tata Consultancy Services Limited | Systems and methods for shape constrained 3d point cloud registration |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8040355B2 (en) * | 2007-07-23 | 2011-10-18 | Disney Enterprises, Inc. | Three-dimensional location-based texture transfers |
US9759809B2 (en) * | 2014-07-08 | 2017-09-12 | Sikorsky Aircraft Corporation | LIDAR-based shipboard tracking and state estimation for autonomous landing |
US11042146B2 (en) * | 2017-11-17 | 2021-06-22 | Kodak Alaris Inc. | Automated 360-degree dense point object inspection |
-
2020
- 2020-08-03 US US16/983,586 patent/US11514610B2/en active Active
- 2020-08-05 CN CN202010777770.2A patent/CN112399165B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070264A1 (en) * | 2014-09-05 | 2016-03-10 | SZ DJI Technology Co., Ltd | Velocity control for an unmanned aerial vehicle |
US20160078610A1 (en) * | 2014-09-11 | 2016-03-17 | Cyberoptics Corporation | Point cloud merging from multiple cameras and sources in three-dimensional profilometry |
US20180089903A1 (en) * | 2015-04-15 | 2018-03-29 | Lytro, Inc. | Layered content delivery for virtual and augmented reality experiences |
CN105424026A (zh) * | 2015-11-04 | 2016-03-23 | 中国人民解放军国防科学技术大学 | 一种基于点云轨迹的室内导航定位方法与系统 |
US20170347120A1 (en) * | 2016-05-28 | 2017-11-30 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
US10032276B1 (en) * | 2016-08-29 | 2018-07-24 | PerceptIn, Inc. | Visual-inertial positional awareness for autonomous and non-autonomous device |
WO2018053257A1 (en) * | 2016-09-16 | 2018-03-22 | Second Spectrum, Inc. | Methods and systems of spatiotemporal pattern recognition for video content development |
WO2018162406A1 (en) * | 2017-03-07 | 2018-09-13 | Thomson Licensing | Quality metric for point clouds |
US20180283882A1 (en) * | 2017-04-04 | 2018-10-04 | Appropolis Inc. | Location-based services system and method therefor |
WO2018221454A1 (ja) * | 2017-05-31 | 2018-12-06 | パイオニア株式会社 | 地図作成装置、制御方法、プログラム及び記憶媒体 |
US20190073744A1 (en) * | 2017-09-01 | 2019-03-07 | Tata Consultancy Services Limited | Systems and methods for shape constrained 3d point cloud registration |
Non-Patent Citations (1)
Title |
---|
周颐等: "虚实融合监控场景中的漫游路径规划方法", 《计算机辅助设计与图形学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257978A1 (zh) * | 2021-06-11 | 2022-12-15 | 维沃移动通信有限公司 | 点云编码方法、解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112399165B (zh) | 2022-03-25 |
US11514610B2 (en) | 2022-11-29 |
US20210049790A1 (en) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783512B2 (en) | Attribute value of reconstructed position associated with plural original points | |
US11223836B2 (en) | Method and apparatus for point cloud coding | |
CN113519163B (zh) | 点云压缩的方法、装置和存储介质 | |
CN113574567A (zh) | 点云压缩的方法和装置 | |
US11451802B2 (en) | Method and apparatus for point cloud coding | |
US11120581B2 (en) | Method and apparatus for point cloud compression | |
US11113866B2 (en) | Method and apparatus for point cloud compression | |
CN112399165B (zh) | 解码方法及装置以及计算机设备和存储介质 | |
CN111641834B (zh) | 点云编码的方法和装置、计算机设备和存储介质 | |
CN112019842A (zh) | 点云压缩的方法、装置、计算机设备和存储介质 | |
CN112019845B (zh) | 对点云进行编码的方法、装置以及存储介质 | |
CN113615201B (zh) | 点云压缩和解压缩的方法和装置 | |
US20230014820A1 (en) | Methods and apparatuses for dynamic mesh compression | |
US20220156980A1 (en) | Method and apparatus for point cloud coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |