用于几何平滑的方法和装置与流程

文档序号:26013008发布日期:2021-07-23 21:33阅读:99来源:国知局
用于几何平滑的方法和装置与流程
交叉引用本申请要求于2019年9月11日提交的标题为“methodandapparatusforgeometrysmoothing(用于几何平滑的方法和装置)”的美国专利申请no.16/567,797的优先权,该美国专利申请要求如下的一系列美国临时申请的优先权:2018年12月5日提交的no.62/775,868和2018年12月5日提交的no.62/775,875。每个在先申请的全部公开内容在此通过全文引入而并入本文中。本公开描述了总体上涉及视频编解码的实施例。
背景技术
:此文所提供的
背景技术
说明以对本公开的内容作一般性说明为目的。发明人的某些工作(即已在此
背景技术
部分中作出描述的工作)以及说明书中关于某些尚未成为申请日之前的现有技术的内容,无论是以明确或隐含的方式均不被视为相对于本公开的现有技术。世界的三维(3d)表示正在使更多沉浸式的交互和通信形式成为可能,并且还使机器能够理解、解释和导航世界。点云已经成为3d使能表现的类型之一。运动图像专家组(movingpictureexpertsgroup,mpeg)已经确定了与点云数据相关联的多个用例,并且为点云表示和压缩开发了相应的要求。技术实现要素:根据本发明的示例性实施例,一种在视频解码器中执行的视频解码方法包括接收对应于三维(3d)空间的压缩的几何数据。该方法还包括接收与数据云相关联的低分辨率占用图。该方法还包括将低分辨率占用图转换为高分辨率占用图。该方法还包括使用压缩的几何数据和高分辨率占用图来重构点云。该方法还包括对(i)重构的点云和(ii)高分辨率占用图之一执行平滑操作。根据本发明的示例性实施例,一种视频解码器包括处理电路,所述处理电路被配置成接收对应于三维(3d)空间的压缩的几何数据。处理电路还被配置为接收与数据云相关联的低分辨率占用图。处理电路还被配置为将低分辨率占用图转换为高分辨率占用图。处理电路还被配置为使用压缩的几何数据和高分辨率占用图来重构点云。处理电路还被配置为对(i)重构的点云和(ii)高分辨率占用图中的一个执行平滑操作。根据本发明的示例性实施例,一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令,所述指令在由视频解码器中的处理器执行时使所述处理器执行下述方法,该方法包括接收对应于三维(3d)空间的压缩的几何数据。该方法还包括接收与数据云相关联的低分辨率占用图。该方法还包括将低分辨率占用图转换为高分辨率占用图。该方法还包括使用压缩的几何数据和高分辨率占用图来重构点云。该方法还包括对(i)重构的点云和(ii)高分辨率占用图之一执行平滑操作。附图说明根据以下详细描述和附图,所公开的主题的其它特征、性质和各种优点将变得更加明显,在附图中:图1a示出了示例性的点云。图1b示出了根据一个实施例的递归细分过程。图2示出了根据一个实施例的示例性的视频编解码器。图3示出了将片映射到二维(2d)网格上的示例。图4a和图4b示出了根据本公开的实施例的将当前点移向最近的邻居。图5a至图5d示出了根据本公开的实施例的示例性的被占用角点。图6a至图6d示出了根据本公开的实施例的示例性的未被占用角点。图7a和图7b示出了根据本公开的实施例的示例性的被占用竖直边界。图8a和图8b示出了根据本公开的实施例的示例性的被占用水平边界。图9a至图9d示出了根据本公开的实施例的应用于被占用角点的示例性的自适应侵蚀(erosion)滤波器。图10a至图10d示出了根据本公开的实施例的应用于未被占用角点的示例性的自适应侵蚀滤波器。图11a和图11b示出了根据本公开的实施例的应用于竖直边界的示例性的自适应侵蚀滤波器。图12a和图12b示出了根据本公开的实施例的应用于水平边界的示例性的自适应侵蚀滤波器。图13a至图13d示出了根据本公开的实施例的应用于被占用角点的示例性的自适应侵蚀滤波器。图14a至图14d示出了根据本公开的实施例的应用于未被占用角点的示例性的自适应侵蚀滤波器。图15a和图15b示出了根据本公开的实施例的应用于竖直边界的示例性的自适应侵蚀滤波器。图16a和图16b示出了根据本公开的实施例的应用于水平边界的示例性自适应侵蚀滤波器。图17示出了根据本公开的实施例的由解码器执行的示例性过程。图18是根据一个实施例的计算机系统的示意图。具体实施方式在一些新兴的应用中,诸如沉浸式虚拟现实(virtualreality,vr)/增强现实(augmentedreality,ar)/混合现实(mixedreality,mr)、汽车/机器人导航、医学成像等,使用点云数据来表示三维(3d)场景或对象。点云包括单个3d点的集合。每个点与一组3d坐标相关联,该组3d坐标表示该点的3d位置和多个其他属性,诸如颜色、表面法线、不透明度、反射率等。在各种实施例中,输入的点云数据可以被量化并且随后被组织成可以使用八叉树数据结构来描述的立方体体素的3d网格。得到的体素化的八叉树有利于对量化的点云数据的遍历、搜索和访问。点云是3d空间中的一组点,每个点都具有相关联的属性,例如颜色、材料特性等。图1a示出了具有点p0-p8的示例性的点云。点云作为这些点的组合可以被用于重构对象或场景。可以使用各种设置的多个摄像机和深度传感器来捕获点云,并且点云可以由数千甚至数十亿个点组成,以便真实地表示重构的场景。需要压缩技术来减少表示点云所需的数据量。因此,需要在实时通信和六自由度(6dof,degreesoffreedom)虚拟现实中使用的点云的有损压缩的技术。此外,在用于自主驾驶和文化遗产应用等的动态映射的环境中,寻求无损点云压缩的技术。另外,需要一些标准来解决几何图形和属性(例如,颜色和反射率)的压缩、可缩放/渐进式编码、随时间推移捕捉的点云序列的编码以及对点云子集的随机访问。图1b示出了2d占用图110的示例。占用图可以是二进制2d图像,其中1和0分别表示被占用和未被占用的像素。通过使用2d占用图110和几何视频,可以使用反投影来重构点云。根据一些实施例,视频编解码器将动态点云的几何图形、运动和纹理信息压缩为三个单独的视频序列。解释三个视频序列所需的额外元数据(即,占用图和辅助片信息)可以被单独压缩。元数据信息可以表示总比特流的一小部分,并且可以通过使用软件实现来有效地对元数据进行编码/解码。大部分信息可以由视频编解码器处理。图2示出了视频编解码器200的实施例。点云帧被输入到片生成单元202以从点云帧生成片。在执行片生成之后,封装单元204接收来自片生成单元202的输出,以对片执行封装处理。封装单元204的输出被馈送到纹理图像生成单元208。纹理图像生成单元208从平滑单元210接收经平滑的几何图形,并将纹理图像输出到图像填充器212。例如,首先使用解压缩的几何视频和解压缩的占用图来重构几何图形。对所得到的云应用几何平滑以减轻由于片边界处的视频编解码器压缩伪像而引起的失真。几何图像生成单元206接收来自点云帧、片信息的输入和封装单元204的输出。片信息可以包括诸如片原点以及相对于图像原点的偏移、片大小等信息。几何图像生成单元206将几何图像输出到图像填充单元212。图像填充单元212还接收占用图。图像填充单元212将经填充的几何图像和经填充的纹理图像输出到视频压缩单元218。视频压缩单元218将经压缩的几何视频和经压缩的纹理视频输出到多路复用器220。视频压缩单元218还将重构的几何图像反馈到平滑单元210。占用图压缩单元214接收片信息,并将经压缩的占用图输出到多路复用器220。辅助片信息压缩单元216接收片信息并将经压缩的辅助片信息输出到多路复用器220。多路复用器220输出经压缩的比特流。根据一些实施例,片生成过程将点云分解为具有平滑边界的最小数量的片,同时还最小化重构误差。编码器可以实施各种方法来产生这种类型的分解。根据一些实施例,如图3所示,封装过程将片映射到2d网格上,同时最小化未使用的空间,并保证网格的每个m×m(例如,16×16)块与唯一的片相关联。m可以是编码器定义的参数,其被编码在比特流中并被发送到解码器。在图3中,可以容易地将片与背景区分开来。在一些示例中,占用图是具有与图3中的图像完全相同的维度的二进制图像,其中属于片的像素被设置为1,并且属于背景的像素被设置为0。前述的占用图可以是全分辨率图。然而,对于有损压缩,可以对全分辨率占用图进行下采样,然后进行压缩。在解码器处,占用图可以被解压缩并上采样回原始的全分辨率。然而,对于无损压缩,使用原始全分辨率格式对占用图进行编码。在几何视频被压缩之后,使用经压缩的几何视频和相应的占用图来重构点云(该点云被称为几何重构的云)。然后将颜色转移到所得到的几何重构的云中。可以在颜色转移之前对几何重构的云应用几何平滑。几何平滑的目标是恢复由于几何压缩以及将高分辨率占用图转换成低分辨率占用图而在片边界处失真的几何图形。本公开的实施例针对的是一种改进的平滑策略,其提供增强的几何重构的云,进而产生较高质量的压缩纹理视频。根据一些实施例,以迭代方式将3d平滑滤波器多次应用于重构的点云,以提高几何平滑的质量。在一些实施例中,用于不同迭代的不同平滑滤波器被使用以受益于每个平滑滤波器的独特特性。平滑滤波器用于根据一组相邻点将点移动到附近位置。一种方法是计算该组相邻点的局部平均值(即,质心)并将当前点移动到质心。可以使用当前点的最近邻居来计算局部统计信息。可以通过在当前点周围放置球体或立方体来确定最近邻居,其中对于球体的情况,首先推导出kd树。根据一些实施例,在编码器和解码器处均应用几何平滑滤波器的多次迭代。每次迭代可以使用相同的平滑滤波器或不同的滤波器。以相同的方式在解码器处应用在编码器处应用的相同的迭代滤波器组。在一些实施例中,诸如平均滤波器和中值滤波器的不同平滑滤波器被应用于不同的迭代。在一个示例中,在第一次迭代中应用中值滤波器有助于去除离群值,随后在第二次迭代中应用平均滤波器。离群点可以是位于相对远离群体的位置的点(例如,离群体超过距离阈值的位置的点)。中值滤波器可用于1d信号以减小离群点的影响。对于较高维度,例如3d,使用向量中值,这是1d中值滤波器的推广。在另一示例中,在第一次迭代中应用平均滤波器,而在第二次迭代中应用中值滤波器。利用平均滤波器,当前点p可以移动到当前点的最近邻居(包括p其自身)的质心,如下所示:等式1:其中,ne(p)表示p的最近邻居(包括其自身)的集合,并且|ne(p)|是该集合的基数。对于中值滤波器,将当前点p移动到当前点的最近邻居(包括其自身)的向量中值,如下所示:等式2:p→argminx∈ne(p)∑y∈ne(x)‖x-y‖,其中,‖v‖表示向量v的模。基于等式2,如果当前点是离群点,则当前点被移动到最佳内点的位置。最佳内点是一个邻近的点,它与其余相邻点的距离之和最小。内点可以是非离群点的点。通过将离群点移动到内点,生成重复点。重复点可以指在相同位置的两个点。根据一些实施例,为了避免产生重复点,当前点p沿着连接p和中值点的射线向中值点移动,其中,移动量被控制为:0≤α≤1:等式3:p→α*p+(1-α)*argminx∈ne(p)∑y∈ne(x)‖x-y‖,其中,+号左侧的表达式是第一次迭代的输出,而+号右侧的表达式是第二次迭代的输出。对于每次迭代,α值可以是固定的或改变的。可以用信号通知该α值。当不同的α值被用于每次迭代并且被用信号通知时,可以用信号通知α值的阵列,其中,该阵列中的每个索引表示不同的迭代。在图4a和图4b中,虚线圆圈表示围绕当前点400的球体。在图4a中,一组最近邻居(nearestneighbors,nn)的中值在深色圆圈中示出。如果当前点400被移动到中值点,如图4a所示,则生成当前点400的副本。在图4b中,为了避免产生重复点,将当前点400移动到沿着将当前点400与中值点连接的射线的一个点。当前点400移动的量可以基于下式的α值来确定:例如,在图4a中,α=0,并且在图4b中,α=0.5。根据一些实施例,在一次或多次迭代中使用片加权平均滤波器。在片加权平均滤波器中,具有相同片索引i的相邻点的集合可以具有相同的权重。在这方面,相同片中的相邻点被相等地加权。然而,不同的片可以被不同地加权。在等式4(如下)中,ni表示具有片索引i的相邻点的数量。在等式4中,设定与ni成比例的权重,并且当前点p进行如下移动:等式4:其中,p(i,j)表示片索引等于i的相邻点的集合中的第j个点。根据一些实施例,在每次迭代中使用的平滑滤波器的类型可以被发信号通知给解码器或由解码器推断出,使得在颜色转移之前解码器能够重构与在编码器处重构的完全相同的几何图形。编码器/解码器可以基于当前点周围的邻居的数量来推断滤波器。例如,如果邻居的数量大于一阈值,则使用中值滤波器,否则,使用平均滤波器。另一示例是编码器/解码器使用邻居来计算统计量,并基于计算的统计量与阈值的比较来决定滤波器类型。用于计算统计量的一个示例包括对点的局部密度进行测量,其可以通过取所有邻居到邻居的距离的平均值来计算。如果平均值小或大,则局部密度分别被推断为高或低。根据一些实施例,在当前点上应用一次平滑滤波器,其中平滑滤波器的类型可以从一组可用的平滑滤波器中选择。表1(以下再现)示出了示例性的平滑滤波器以及相应的类型索引。本公开的实施例不限于表1中所示的滤波器。平滑滤波器类型smoothing_filter_type_index[i]平均滤波器0向量中值滤波器1修正的向量中值滤波器2片加权平均滤波器3表1在一些实施例中,使用变量,例如smoothing_filter_type_index,来用信号通知平滑滤波器的类型。在其他实施例中,平滑滤波器的类型可以基于经平滑的当前点的局部统计量来推断。例如,根据一个或多个预定阈值的当前点的局部统计量(诸如中值、平均值和方差)可以被用于确定滤波器类型。例如,如果当前点和周围相邻点的中值低于预定阈值,或者在两个不同阈值之间,则可以选择表1中所示的滤波器中的一个。根据一些实施例,编码器用信号通知阈值以定义所选择的局部统计值的多个区间。编码器还可以用信号通知将被用于这些区间的不同类型的平滑滤波器的索引。解码器可通过计算表示当前点的局部统计量的值(μ)(例如,平均值、中值、方差等)并基于μ找到匹配区间来推断滤波器的类型。例如,(i)当0≤μ≤.25时,选择平均滤波器,(ii)当.25<μ≤.5时,选择向量中值滤波器,(iii)当.5<μ≤.75时,选择修正的向量中值滤波器,以及(iv)当.75<μ≤1.0时,选择片加权平均滤波器。在编码器和解码器处以相同的方式执行该过程,以避免不匹配。尽管应用了一次平滑迭代,但是由于根据计算的局部统计量应用了各种滤波器,因此执行自适应平滑。在一些实施例中,编码器明确地用信号通知用于诸如图片群组(gop,groupofpictures)、切片/图块(slice/tile)、编码单元/变换单元(cu/tu)或像素的每个处理单元的平滑滤波器的类型。尽管应用了一次平滑迭代,但是由于局部应用了各种滤波器,所以执行自适应平滑。以下多个表示出了根据以上公开的实施例的用于执行迭代和非迭代平滑的示例性过程。表2示出了用于执行迭代平滑的示例性过程。表2表3示出了用于执行具有推断的滤波器类型的非迭代自适应平滑的示例性过程。表3表4示出了用于执行具有信号通知的滤波器类型的非迭代自适应平滑的示例性过程。表4以下描述提供了在上面公开的表中使用的变量的实施例。iterative_smoothing_present_flag表示是否使用迭代平滑。number_of_iterations表示顺序应用的平滑处理的次数。smoothing_filter_type_index_per_iteration[i]表示在第i次迭代中使用的平滑滤波器的类型的索引。smoothing_filter_type_index_per_iteration[i]的值应在[0,number_of_available_smoothing_filter_types-1]的范围内。表1示出了一组示例性的滤波器类型及其对应的索引,其中number_of_available_smoothing_filter_types等于4。non_iterative_adaptive_smoothing_with_inferred_filter_types_present_flag表示是否使用具有推断的滤波器类型的非迭代自适应平滑。number_of_statistic_thresholds表示用于定义统计范围的阈值的数量。number_of_statistic_thresholds的值可以在[0,255]的范围内。statistic_thresholds[i]表示指定非重叠统计范围的统计阈值的值。statistic_threshold[i]的值可以在[-232,-232]的范围内。smoothing_filter_type_index_per_statistic_range[i]表示当所计算的统计量位于范围[statistic_threshold[i],statistic_threshold[i+1]]内时所应用的平滑滤波器的类型的索引,其中statistic_threshold[0]=-∞且statistic_threshold[number_of_statistic_thresholds]=+∞。smoothing_filter_type_index_per_iteration[i]的值可以在[0,number_of_available_smoothing_filter_types-1]的范围内。表1示出了一组示例性的滤波器类型及其对应的索引,其中number_of_available_smoothing_filter_types等于4。non_iterative_adaptive_smoothing_with_filter_type_signaling_present_flag表示是否使用具有用信号通知的滤波器类型的非迭代自适应平滑。smoothing_filter_type_index_per_point[i]表示应用于第i个点的平滑滤波器的类型的索引。smoothing_filter_type_per_point[i]的值可以在[0,number_of_available_smoothing_filter_types-1]的范围内。表1示出了一组示例性的滤波器类型及其对应的索引,其中number_of_available_smoothing_filter_types等于4。根据一些实施例,对于用于迭代平滑的解码过程,输入的是在每次平滑迭代中使用的平滑滤波器的类型的索引。当元数据smoothing_filter_type_index_per_iteration[i]被解码时,解码器顺序地应用平滑滤波器,其中在迭代i时,解码器对迭代(i-1)获得的平滑输出应用索引值为smoothing_filter_type_index_per_iteration[i]的平滑滤波器。根据一些实施例,对于用于具有推断的滤波器类型的非迭代自适应平滑的解码过程,输入是(i)指定一组非重叠范围的统计阈值,以及(ii)指定在这些非重叠范围的每一个范围处应用的滤波器类型的一组滤波器类型索引。对于当前点,解码器可以首先基于当前点的局部邻域来计算统计量。使用解码的阈值,实轴的整个范围可以被分成(number_of_statistic_thresholds+1)个非重叠范围。如果计算的统计量位于第i个范围内,则将具有索引smoothing_filter_type_per_statistic_range[i]的平滑滤波器应用于当前点。根据一些实施例,对于具有用信号通知的滤波器类型的非迭代自适应平滑的解码过程,输入的是每个点的平滑滤波器类型的索引。当针对当前点对smoothing_filter_type_index_per_point[i]进行解码时,解码器可应用具有索引值为smoothing_filter_type_index_per_point[i]的平滑滤波器。如上所述,几何平滑的目标是恢复由于几何压缩以及将高分辨率占用图转换成低分辨率占用图而在片边界处失真的几何图形。本公开的实施例将自适应侵蚀方案应用到经压缩的2d占用图上,这提供了与3d域中的高度复杂的几何平滑相比具有低计算复杂度的显著有利特征,以及改进的几何重构云,进而产生了较高质量的压缩纹理视频。根据一些实施例,自适应侵蚀滤波器被应用于重构的占用图。在这方面,在2d域而不是3d域中执行几何平滑。仍然可以结合在2d域中执行的几何平滑来应用3d域中的任何附加几何平滑。在一些示例中,在解码器处,仅可获得经解码的低分辨率占用图,从低分辨率占用图重构高分辨率占用图。本公开的实施例对重构的高分辨率占用图执行自适应侵蚀方案,以恢复原始高分辨率占用图。解码的低分辨率占用图的每个像素可以对应于重构的高分辨率占用图的n×n像素块,其中n可以是由用户指定或由解码器预定的任意整数。在一些实施例中,低分辨率占用图的被占用(未被占用)像素对应于重构的高分辨率占用图的完全占用(未被占用)的n×n像素块。不需要进行扩张(dilation),因为未压缩的高分辨率占用图的占用像素集合总是重构的高分辨率占用图的占用像素的子集。在一些实施例中,将自适应侵蚀滤波器应用于重构的高分辨率占用图。在一些示例中,不对经解码的低分辨率占用图执行模式匹配,且基于经重构的被占用/未被占用像素的局部邻域对经重构的高分辨率占用图执行所有处理。在一些实施例中,自适应侵蚀滤波器首先在高分辨率占用图中定位被占用/未被占用的角点(像素)和被占用的竖直/水平边界(例如,边界可以是具有非固定长度的竖直或水平边界)。在这些点和边界被定位之后,自适应侵蚀滤波器在这些角点/边界附近应用不同的侵蚀模式。在这方面,在邻域角点和边界处进行侵蚀。在一些实施例中,被占用的角点(像素)是如下被占用的像素,该被占用的像素包括x个未被占用的相邻像素和y个被占用的相邻像素,其中x>y。例如,x=5个未被占用的像素并且y=3个被占用的像素。图5a至图5d示出了示例性的被占用的角点,其中被占用的像素和未被占用的像素分别以白色和黑色表示,并且被占用的角点由十字表示。在一些实施例中,未被占用的角点(像素)是如下的未被占用的像素,该未被占用的像素具有y个被占用的相邻像素和x个未被占用的相邻像素,其中y>x。例如,y=5个被占用的像素且x=3个未被占用的像素。图6a至图6d示出了示例性的未被占用的角点,其中被占用的像素和未被占用的像素分别以白色和黑色表示,并且未被占用的角点由十字表示。在一些实施例中,被占用的竖直边界是包括l1×n(2≤l1)个被占用的像素的竖直边界,这些被占用的像素被竖直地布置,并且它们之间没有间隙(例如,参见表5中的min_border_length_vertical)。可以有两种类型的竖直边界:(i)所有左侧邻居都未被占用的竖直边界(图7a)和(ii)所有右侧邻居都未被占用的竖直边界(图7b)。在一些实施例中,被占用的水平边界是包括l2×n(2≤l2)个被占用像素的水平边界,这些被占用的像素被水平地布置,并且它们之间没有间隙(例如,参见表5中的min_border_length_horizontal)。可以有两种类型的水平边界:(i)所有上部邻居未被占用的水平边界(图8a)和(ii)所有下部邻居未被占用的水平边界(图8b)。根据一些实施例,在确定上述公开的候选点/边界之后,可以在候选的邻域处应用一个或多个侵蚀模式,其中侵蚀可以包括点/边界本身。可以将侵蚀模式缩放到不同的块尺寸。根据一些实施例,对于被占用/未被占用的角点和被占用的竖直/水平边界,侵蚀模式应用于4×4(即,n=4)的块尺寸。在其他实施例中,这些侵蚀模式的缩放版本可应用于2×2(即,n=2)的块尺寸。l1和l2可以设置为2。图9a至图9d示出了所有四种类型的被占用角点的侵蚀模式。白色和黑色像素分别表示被占用和未被占用的像素。此外,灰色像素表示被侵蚀的像素,其可以是用于被占用但是由于自适应侵蚀滤波器而被设置为未被占用的像素。本公开的实施例不限于图9a至图9d所示的侵蚀模式,可以采用其他侵蚀模式来侵蚀更多/更少的像素,分别对应于更重/更轻的平滑。图10a至图10d示出了所有四种类型的未被占用角点的侵蚀模式。图11a和图11b示出了两种类型的被占用的竖直边界的侵蚀模式。例如,一列像素被侵蚀。可以侵蚀更多数量的像素(例如,参见表5中的border_erosion_thickness_vertical)以进行更重的平滑。图12a和图12b示出了两种类型的被占用的水平边界的侵蚀模式。如图12a和图12b所示,一行像素被侵蚀。然而,可以侵蚀更多数量的像素(例如,参见表5中的border_erosion_thickness_horizontal)以进行更重的平滑。根据一些实施例,可以对尺寸为2×2(即,n=2)的块执行上述公开的侵蚀模式的缩放版本,其中可以将l1和l2设置为2。根据本公开的实施例,被占用/未被占用的角点和竖直/水平边界的定义与块尺寸无关。例如,无论块尺寸如何,角点都可以由该角点的8个邻居来定义,并且竖直/水平边界可以由独立于块尺寸而设置的l1和l2来定义。图13a至图13d示出了所有四种类型的被占用角点的侵蚀模式。如在其他示例中一样,白色和黑色像素分别表示被占用和未被占用的像素。此外,灰色像素表示被侵蚀像素,其可以是用于被占用但现在根据自适应侵蚀滤波器被设置为未被占用的像素。如上所述,本公开的实施例不限于图13a至图13d所示的侵蚀模式,可以采用其他侵蚀模式来侵蚀更多/更少的像素,分别对应于更重/更轻的平滑。图14a至图14d示出了所有四种类型的未被占用角点的侵蚀模式。图15a和图15b示出了两种类型的被占用的竖直边界的侵蚀模式。这里,一列像素被侵蚀。然而,可以侵蚀更多的像素列(例如,参见表5中的border_erosion_thickness_vertical)以进行更重的平滑。图16a和图16b示出了两种类型的被占用水平边界的侵蚀模式。如图16a和图16b所示,一行像素被侵蚀。然而,可以侵蚀更多数量的像素(例如,参见表5中的border_erosion_thickness_horizontal)以进行更重的平滑。表5(如下)示出了用于执行自适应侵蚀滤波的示例性过程。表5以下描述提供了表5中使用的变量的实施方案。adaptive_erosion_smoothing_present_flag表示是否使用自适应侵蚀平滑。min_border_length_horizontal表示被认为是被占用的水平边界的被占用的水平排列的连续块的最小数量。min_border_length_horizontal的值可以在2至28-1(包括端值)的范围内。min_border_length_vertical表示被认为是被占用的竖直边界的被占用的竖直排列的连续块的最小数量。min_border_length_vertical的值可以在2至28-1(包括端值)的范围内。border_erosion_thickness_horizontal表示对于被占用的水平边界的情况被侵蚀的行的数量。border_erosion_thickness_horizontal的值可以在[0,block_size]的范围内。对于具有一个块的宽度的边界,border_erosion_thickness_horizontal的最大值是block_size/2。border_erosion_thickness_vertical表示对于被占用的竖直边界的情况被侵蚀的列的数量。border_erosion_thickness_vertical的值可以在[0,block_size]的范围内。对于具有一个块的宽度的边界,border_erosion_thickness_vertical的最大值将是block_size/2。occupied_corner_erosion_pattern确定在被占用的角点附近的侵蚀模式。所有四种侵蚀模式都可以通过单个模式的90度旋转来获得(例如,在图9a至图9d中示出的n=4的一个示例)。unoccupied_corner_erosion_pattern_[0,1,2]确定在未被占用的角点附近的侵蚀模式。可以在未被占用的角点附近的三个n×n块上执行侵蚀,这三个块由索引0、1和2表示。所有四种侵蚀模式都可以通过单个模式的90度旋转来获得(例如,在图10a至图10d中示出的n=4的一个示例)。图17示出了可由解码器执行的过程的实施例。图17所示的过程可以在步骤s1700开始,在步骤s1700中,接收对应于3d空间的压缩几何视频。该过程继续进行到步骤s1702,在步骤s1702中,接收与压缩的几何数据相关联的低分辨率占用图。该过程继续进行到步骤s1704,在步骤s1704中,将低分辨率占用图转换为高分辨率占用图。该过程继续进行到步骤s1706,在步骤s1706中,使用压缩的几何数据和高分辨率占用图来重构点云。该过程继续进行到步骤s1708,在步骤s1708中,对(i)重构的点云和(ii)高分辨率占用图中的一个执行平滑操作。如果对重构的点云执行平滑操作,则可以对重构的点云执行表2至表4中所示的平滑处理中的任何一个。如果对高分辨率占用图执行平滑操作,则可以对高分辨率占用图执行表5中所示的自适应侵蚀平滑处理。可以将上述技术实现为计算机软件,该计算机软件使用计算机可读指令,并且物理存储在一个或多个计算机可读介质中。例如,图18示出适合于实施所公开的主题的某些实施例的计算机系统(1800)。可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可以经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可以由一个或多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过解释码、微码等执行。指令可以在各种类型的计算机或其组件上执行,例如包括个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。图18所示的计算机系统(1800)的组件本质上是示例性的,并且不旨在对实施本公开的实施例的计算机软件的用途或功能的范围提出任何限制。组件的配置也不应被解释为具有与计算机系统(1800)的示例性实施例中所示的组件中的任何一个组件或组件的组合有关的任何依赖或要求。计算机系统(1800)可以包括某些人机接口输入装置。此类人机接口输入装置可以响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘出)。人机接口装置还可以用于捕获不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)等。输入人机接口装置可以包括下述中的一项或多项(每种中仅示出一个):键盘(1801)、鼠标(1802)、触控板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、相机(1808)。计算机系统(1800)也可以包括某些人机接口输出装置。这样的人机接口输出装置可以例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可以包括触觉输出装置(例如触摸屏(1810)、数据手套(未示出)或操纵杆(1805)的触觉反馈,但是也可以是不作为输入设备的触觉反馈装置)、音频输出装置(例如:扬声器(1809)、耳机(未示出))、视觉输出装置(例如包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕(1810),每种屏幕有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出、虚拟现实眼镜(未描绘出)、全息显示器和烟箱(未描绘出)以及打印机(未描绘出)之类的装置来输出二维视觉输出或超过三维输出。计算机系统(1800)也可以包括人类可访问存储装置及其关联介质:例如包括具有cd/dvd等介质(1821)的cd/dvdrom/rw(1820)的光学介质、指状驱动器(1822)、可拆卸硬盘驱动器或固态驱动器(1823)、诸如磁带和软盘之类的传统磁性介质(未示出)、诸如安全软件狗之类的基于专用rom/asic/pld的装置(未示出)等。本领域技术人员还应该理解,结合当前公开的主题使用的所术语“计算机可读介质”不涵盖传输介质、载波或其他暂时性信号。计算机系统(1800)还可以包括到一个或多个通信网络的接口。网络可以例如是无线网络、有线网络、光网络。网络可以进一步地是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、延迟容忍网络等。网络的示例包括诸如以太网之类的局域网、无线lan、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业用电视等等。某些网络通常需要连接到某些通用数据端口或外围总线(1849)的外部网络接口适配器(例如计算机系统(1800)的usb端口);如下所述,其他网络接口通常通过连接到系统总线而集成到计算机系统(1800)的内核中(例如,连接pc计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统(1800)可以使用这些网络中的任何一个网络与其他实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些canbus装置的canbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,可以在那些网络和网络接口的每一个上使用某些协议和协议栈。上述人机接口装置、人机可访问的存储装置和网络接口可以附接到计算机系统(1800)的内核(1840)。内核(1840)可以包括一个或多个中央处理单元(cpu)(1841)、图形处理单元(gpu)(1842)、现场可编程门区域(fpga)(1843)形式的专用可编程处理单元、用于某些任务的硬件加速器(1844)等。这些装置以及只读存储器(rom)(1845)、随机存取存储器(1846)、诸如内部非用户可访问的硬盘驱动器、ssd等之类的内部大容量存储器(1847)可以通过系统总线(1848)连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(1848),以能够通过附加的cpu、gpu等进行扩展。外围装置可以直接连接到内核的系统总线(1848)或通过外围总线(1849)连接到内核的系统总线(1848)。外围总线的体系结构包括pci、usb等。cpu(1841)、gpu(1842)、fpga(1843)和加速器(1844)可以执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可以存储在rom(1845)或ram(1846)中。过渡数据也可以存储在ram(1846)中,而永久数据可以例如存储在内部大容量存储器(1847)中。可以通过使用高速缓冲来进行对任何存储装置的快速存储及检索,该高速缓冲可以与下述紧密关联:一个或多个cpu(1841)、gpu(1842)、大容量存储(1847)、rom(1845)、ram(1846)等。计算机可读介质可以在其上具有用于执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。作为非限制性示例,可以由于一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构(1800),特别是内核(1840)的计算机系统可以提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核(1840)的存储器,例如内核内部大容量存储器(1847)或rom(1845)。可以将实施本公开的各种实施例的软件存储在此类装置中并由内核(1840)执行。根据特定需要,计算机可读介质可以包括一个或多个存储装置或芯片。软件可以使得内核(1840),特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在ram(1846)中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替换地,可以由于硬连线或以其他方式体现在电路(例如,加速器(1844))中的逻辑中而使得计算机系统提供功能,该电路可以替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可以包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可以包括存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或包括两者。本公开包括硬件和软件的任何合适的组合。尽管本公开已经描述了多个示例性实施例,但是存在落入本公开的范围内的修改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但体现了本公开的原理,因此落入本公开的精神和范围内的系统和方法。(1)一种在视频解码器中执行的视频解码方法,所述方法包括:接收对应于三维(3d)空间的压缩的几何数据;接收与数据云相关联的低分辨率占用图;将所述低分辨率占用图转换为高分辨率占用图;使用压缩的几何数据和高分辨率占用图来重构点云;以及对(i)重构的点云和(ii)高分辨率占用图中的一个进行平滑操作。(2)根据特征(1)的方法,其中,所述平滑操作包括将一个或多个平滑滤波器的多次迭代应用于所重构的点云。(3)根据特征(2)的方法,其中,所述一个或多个平滑滤波器的多次迭代包括在所述多次迭代的每一次迭代中应用相同的平滑滤波器。(4)根据特征(2)的方法,其中,所述一个或多个平滑滤波器的多次迭代包括将至少两个不同的滤波器应用于重构的点云。(5)根据特征(2)的方法,其中,所述一个或多个平滑滤波器的多次迭代包括应用中值平滑滤波器,所述中值平滑滤波器将重构的点云中的当前点朝向与所述当前点相邻的一组点的向量中值移动,其中,朝向所述向量中值的移动量是基于阈值(α)确定的,该阈值大于0且小于或等于1,并且其中当α=1时,当前点被移动到向量中值。(6)根据特征(2)的方法,其中,所述一个或多个平滑滤波器的多次迭代包括应用平均平滑滤波器,该平均平滑滤波器将重构的点云中的当前点移动到与当前点相邻的一组点的质心。(7)根据特征(2)的方法,其中,所述一个或多个平滑滤波器的多次迭代包括应用片加权平均滤波器,该片加权平均滤波器将重构的点云中的当前点移动到与当前点相邻的一组点的质心,以及其中,重构的点云被属于不同片的多个点包围,不同片中的每一个片都具有各自的权重,以及其中,属于同一片的一组点中的每一个点被相等地加权。(8)根据特征(1)-(7)中任一项的方法,其中,所述平滑操作将平滑滤波器应用于所重构的点云,以及其中,该平滑滤波器选自多个平滑滤波器中的一个。(9)根据特征(8)的方法,其中,平滑滤波器的选择通过用压缩的几何数据来发信号通知。(10)根据特征(8)的方法,其中,基于对点云执行的统计计算与一个或多个预定阈值的比较来选择平滑滤波器。(11)根据特征(1)的方法,其中,所述平滑操作包括将自适应侵蚀滤波器应用于高分辨率占用图。(12)根据特征(11)的方法,其中,所述自适应侵蚀滤波器对位于被占用的像素组和未被占用的像素组之间的边界处的一个或多个像素进行侵蚀,并且其中,每个被侵蚀的像素对应于被占用的像素,该被占用的像素被改变为未被占用的像素。(13)根据特征(12)的方法,其中,所述边界是被占用的角点,其中,所述被占用的像素组是n×n块,并且所述未被占用的像素组围绕所述n×n块的两侧。(14)根据特征(12)的方法,其中,所述边界是未被占用的角点,其中,所述未被占用的像素组是n×n块,并且所述被占用的像素组围绕所述n×n块的两侧。(15)根据特征(12)的方法,其中,所述边界是所述被占用的像素组与所述未被占用的像素组之间的竖直边界。(16)根据特征(12)的方法,其中,所述边界是所述被占用的像素组和所述未被占用的像素组之间的水平边界。(17)一种视频解码器,包括处理电路,所述处理电路被配置为:接收对应于三维(3d)空间的压缩的几何数据,接收与数据云相关联的低分辨率占用图,将所述低分辨率占用图转换成高分辨率占用图,使用压缩的几何数据和所述高分辨率占用图来重构点云,以及对(i)重构的点云和(ii)高分辨率占用图中的一个执行平滑操作。(18)根据特征(17)的视频解码器,其中,所述平滑操作包括将一个或多个平滑滤波器的多次迭代应用于所重构的点云。(19)根据特征(17)的视频解码器,其中,所述平滑操作包括将自适应侵蚀滤波器应用于高分辨率占用图。(20)一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质中存储有指令,所述指令在由视频解码器中的处理器执行时使得所述处理器执行以下方法,所述方法包括:接收对应于三维(3d)空间的压缩的几何数据;接收与数据云相关联的低分辨率占用图;将所述低分辨率占用图转换为高分辨率占用图;使用压缩的几何数据和高分辨率占用图来重构点云;以及对(i)重构的点云和(ii)高分辨率占用图中的一个进行平滑操作。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1