掌桥专利:专业的专利平台
掌桥专利
首页

相关申请的交叉引用

本申请根据35 U.S.C.§119(e)要求于2019年3月20日提交的标题为“POINT CLOUDCODING STRUCTURE”的美国临时专利申请序列号62/821,139、于2019年1月11日提交的标题为“POINT CLOUD CODING STRUCTURE”的美国临时专利申请序列号62/791,328、于2019年1月2日提交的标题为“POINT CLOUD CODING STRUCTURE”的美国临时专利申请序列号62/787,637、于2018年12月19日提交的标题为“POINT CLOUD CODING STRUCTURE”的美国临时专利申请序列号62/781,968的优先权,这些申请的全部出于所有目的以引用方式并入本文。

技术领域

本发明涉及三维图形。更具体地,本发明涉及三维图形的编码。

背景技术

点云已经被认为是用于传输3D数据的候选格式,该3D数据或者由3D扫描仪、LIDAR传感器捕获或者在诸如虚拟现实/增强现实(VR/AR)之类的流行应用中使用。点云是3D空间中的点集合。除了空间位置(X,Y,Z)外,每个点常常具有诸如颜色(R,G,B)或甚至反射率和时间上的时间戳之类的关联属性(例如,在LIDAR图像中)。为了获得目标3D对象的高保真再现,设备以数千个甚至数百万个点的数量级捕获点云。此外,对于VR/AR应用中使用的动态3D场景,每单个帧常常具有独特的密集点云,该密集点云造成了每秒几百万个点云的传输。对于这样大量数据的可实施传输,常常应用压缩。

2017年,MPEG发布了针对点云压缩的邀集提案(CfP)。在评估了几个提案之后,MPEG正在考虑两种不同的点云压缩技术:3D原生(native)编码技术(基于八叉树和类似的编码方法)或者传统视频编码所遵循的3D-2D投影。在动态3D场景的情况下,MPEG正在使用基于图像块表面建模的测试模型软件(TMC2),将图像块从3D投影到2D图像,并用诸如HEVC之类的视频编码器对2D图像进行编码。该方法已被证实比原生3D编码更有效,并能够在可接受的质量下实现有竞争力的比特率。

当对点云进行编码时,TMC2对与图像块投影相关的辅助信息(诸如2D画布图像中的图像块位置和边界框(bounding box)尺寸)进行编码。为了对辅助信息进行时间编码,使用来自当前点云的图像块与来自立即解码的点云的图像块之间的图像块匹配进行预测。该过程限于直接相邻,并包括对序列中的所有帧执行增量编码(delta coding)。

发明内容

点云编码结构定义了“关键”点云帧,其中用于预测点云图像块的所有参考都限于当前点云帧。描述了点云图像块缓冲区,其中存储了来自点云帧的参考图像块的列表及其相应的边界框以用于预测另一帧中的图像块。在允许点云帧的编码顺序不同于呈现顺序的情况下,参考图像块的列表可以包含来自过去的图像块和来自未来的图像块,并且使用双向预测。类似的参考缓冲区列表概念能够应用于点云的层。还描述了信令方法,该信令方法通过在有效载荷内发信号通知对包含较高级信息的块的ID的参考来使V-PCC的块相关。

在一方面,一种在设备的非暂态存储器中编程的方法包括实现点云编码结构和使用该点云编码结构对点云元数据进行编码。实现点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。对点云元数据进行编码利用双向预测,其中,双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。双向预测实现两个单独的结构:用于过去的图像块和元数据信息的第一结构以及用于未来的图像块和元数据信息的第二结构。第一结构和第二结构被存储在点云图像块缓冲区中。该方法还包括利用用于点云的层的缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。该方法还包括实现信令方法以使V-PCC的块相关。

在另一方面,一种装置包括:用于存储应用的非暂态存储器,该应用用于实现点云编码结构并使用该点云编码结构对点云元数据进行编码;以及耦接到存储器的处理器,该处理器被配置用于处理该应用。实现点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。对点云元数据进行编码利用双向预测,其中,双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。双向预测实现两个单独的结构:用于过去的图像块和元数据信息的第一结构以及用于未来的图像块和元数据信息的第二结构。第一结构和第二结构被存储在点云图像块缓冲区中。该方法还包括利用用于点云的层的缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。该装置还包括实现信令方法以使V-PCC的块相关。

在另一方面,一种系统包括点云编码结构以及用于使用该点云编码结构对点云元数据进行编码的编码器。实现点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。对点云元数据进行编码利用双向预测,其中,双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。双向预测实现两个单独的结构:用于过去的图像块和元数据信息的第一结构以及用于未来的图像块和元数据信息的第二结构。第一结构和第二结构被存储在点云图像块缓冲区中。该系统还包括利用用于点云的层的缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。该系统还包括实现信令方法以使V-PCC的块相关。

附图说明

图1图示了根据一些实施例的用于“关键”点云帧的辅助信息缓冲区的示图。

图2图示了根据一些实施例的利用时间预测的辅助信息缓冲区的示图。

图3图示了根据一些实施例的利用双向预测的辅助信息缓冲区的示图。

图4图示了根据一些实施例的层的层次分组的示图。

图5图示了根据一些实施例的V-PCC信令的示图。

图6至图8图示了根据一些实施例的包括逻辑链信息的V-PCC信令的示例性编码。

图9图示了根据一些实施例的实现点云编码结构的方法的流程图。

图10图示了根据一些实施例的被配置为实现点云编码结构的示例性计算设备的框图。

具体实施方式

本文描述了用于动态点云的时间压缩的新型编码结构。该编码结构定义了“关键”点云帧的概念,其中用于预测点云图像块的所有参考都限于当前点云帧。此外,本文描述了点云图像块缓冲区,其中存储了来自点云帧的参考图像块的列表及其相应的边界框以用于预测另一帧中的图像块。在允许点云帧的编码顺序不同于呈现顺序的情况下,参考图像块的列表可以包含来自过去的图像块以及来自未来的图像块,并且使用双向预测。类似的参考缓冲区列表概念能够应用于点云的层。本文还描述了信令方法,该信令方法通过在有效载荷内发信号通知对包含较高级信息的块的ID的参考来使V-PCC的块相关。

包含元数据信息(图像块和相应的边界框)的缓冲区存储来自先前帧的数据。然后,为了对当前帧进行编码,编码器执行当前帧与来自先前帧的存储的图像块之间的图像块匹配。此外,图像块可以与来自两个或更多个先前帧的两个或更多个图像块匹配,这些图像块可以位于或不位于未来。为了使能够进行双向预测,参考图像块列表能够被存储在两个单独的列表中,一个列表指示过去的帧,而另一个列表指示未来的帧。在定义了“关键”点云帧的情况下,不允许使用过去的点云帧进行预测,使用的所有参考都应该来自当前帧。此外,V-PCC单元的信令结构应当包含对较高级别的元素的参考。例如,包含属性图像块参数集(APPS)的信息的块参考包含属性参数集(APS)的信息的块,这是借助于ID完成的。

本文描述了用于预测当前信息的过去信息的列表,类似于在诸如HEVC之类的视频编码器中使用的解码图片缓冲区(DPB)。该技术的新颖性在于使用参考列表对元数据信息(图像块)进行编码,而非仅使用其对图像进行编码。此外,本文描述了在有效载荷内指示对具有较高级信息的块的参考的信令方法。

本文描述的点云编码结构包括与添加到点云编码标准以使该结构更有效的新元素相关的信息。所包括的信息提供了关系以及如何对点云压缩比特流进行编码和解码。

在点云编码标准中,点云被分割成表面图像块,并且该表面图像块被投影。投影生成能够用一个或多个2D视频编码器进行编码的2D图像。发送了指示如何生成2D图像以及如何从3D图像重构2D图像或如何从2D图像重构3D图像的辅助信息(或元数据)(例如,诸如如何从3D点转为2D视频的映射信息)。例如,点云被分成100个图像块,这意味着存在描述如何从点云转为图像块或者如何从3D形式的图像块转为2D形式的图像块的元数据。元数据包括帧之间的诸如时间相关性之类的性质。元数据(例如,时间相关信息)被编码。例如,点云的一帧被分成100个图像块,并且一个图像块是面部图像块,即面部上的所有点被分组成单个图像块。下一帧包括略微偏移的点云,此时,点云被分成110个图像块,其中两个图像块代表面部。每帧的图像块列表能够与来自其它帧的图像块列表相关。例如,辅助信息包括诸如图像块的位置信息(例如,位置10)之类的3D信息,并且第二帧中图像块的位置信息(例如,位置11)不同/改变。新位置不需要被编码;实际上,新的图像块与旧的图像块相比的关系被编码(例如,在该示例中,来自第二帧的图像块是位置p+1)。因此,能够存储帧之间的图像块之间的这些连接/相关性。尽管该示例讨论了当前帧和先前帧,但任何帧都能够被使用和相关。

能够针对辅助信息生成缓冲结构,使得图像块与五帧之前的帧的先前帧中的图像块在时间上相关。缓冲结构指示图像块和帧的所有依赖关系。然后,能够生成不取决于任何先前帧的诸如辅助信息之类的不同类型的辅助信息,这与关键帧类似。取决于来自过去的帧的图像块包括时间预测。能够实现双向预测,其中不是顺序地对帧进行编码而是对帧重新排序,使得图像块能够参考过去和未来的图像块以允许更大的灵活性。

图1图示了根据一些实施例的用于“关键”点云帧的辅助信息缓冲区的示图。对于“关键”点云帧,每个图像块的辅助信息来自相同帧内的先前图像块。不利用来自附加帧的辅助信息。

图2图示了根据一些实施例的利用时间预测的辅助信息缓冲区的示图。对于时间预测,图像块的辅助信息能够源自来自先前帧(例如,帧

图3图示了根据一些实施例的利用双向预测的辅助信息缓冲区的示图。对于双向预测,图像块的辅助信息能够源自来自先前帧(例如,帧

给定辅助信息的增量/差分性质,当前TMC2匹配方法的限制是仅先前辅助信息数据单元被用作参考。针对当前辅助信息数据单元更灵活的预测方案是从一组预定义的参考辅助信息集(RAIS)创建参考列表。图3中提供了参考辅助信息集和LD列表的示例。

图3中的示例示出了使用参考集和列表的概念的简单实现方式。然而,它提供了通过使用用于随机接入的双向预测以及对除了L0外还有L1型参考列表的引入,根据几何视频编解码器的GOP配置来生成预定义的一组参考辅助信息集的灵活性。另外,当前方案能够被进一步扩展和推广,使得当前帧中的匹配图像块能够参考不同的参考帧索引。

对于视频层缓冲区,当点从3D平面投影到2D平面时,存在一些投影到彼此顶部上的点。为了保留这些点,能够实现视频层,在这些视频层中第一层是第一点,第二层是第二点,依此类推。在一些实现方式中,仅利用两层,在该两层中第一层是第一点并且第二层是最后的点,并且介于其间的任何点不被编码。在一些实现方式中,能够利用附加层(例如,16层)。

具体地,在当前的V-PCC规范中,最多可以有高达16个层,而在TMC2 SW实现方式中,层的数量仅限于两个。另外,使用标志“absolute_d1_flag”来生成针对几何视频编解码器的单个交错的层0/层1输入(absolute_d1_flag=1)或者两个输入((absolute_d1_flag=0):层0和残差(layer_1–layer_0)。当处理不止两个层时,发信号通知预测顺序将变得更加复杂。因此,将参考辅助信息集和列表的概念扩展到多层为处理这两种情况提供了统一的方式。

FIFO缓冲区能够被实现为允许利用不止两个层(来自3D平面的切片)。FIFO缓冲区能够指示哪些层先前已经被编码。层也能够被层次地分组,以生成层次的预测方案。例如,层被组合成层次组,并且层次组能够被用于预测。图4图示了根据一些实施例的层的层次分组的示图。

创建单/两层的可替换方式是对层进行层次分组,以生成符合当前TMC2实现方式的或者两层或者单层方案。

用于这种分组的信息可以是固定/预定义的或被发送到解码器。

图5图示了根据一些实施例的V-PCC信令的示图。V-PCC比特流包括V-PCC单元,并且每个V-PCC单元包括V-PCC单元报头和V-PCC单元有效载荷。V-PCC单元有效载荷可以是以下中的任何:序列参数集、占用参数集、几何图像块参数集、占用视频数据单元、帧参数集、几何参数集、属性图像块参数集、几何视频数据单元、属性参数集、辅助信息数据单元或属性视频数据单元。

信令能够包括有每个V-PCC单元的V-PCC比特流,以生成每个V-PCC单元的逻辑链。例如,几何图像块参数集能够连接到序列参数集。信令能够包括连接V-PCC单元的信息。

图6至图8图示了根据一些实施例的包括逻辑链信息的V-PCC信令的示例性编码。序列参数集(sps)定义了对整个序列有效的参数。序列参数集的ID是sps_sps_id。属性参数集(aps)定义特定属性的参数。属性参数集连接到由有效载荷中的aps_aps_id和sps_sps_id指示的序列参数集。能够生成参数或条件的库,然后使用信令/ID,能够进行从库中的选择。如图8中所示,能够使用帧参数集单元来发送诸如帧内指示、通过告知解码器重置解码器缓冲区的元数据信息、图像块定向的新默认值等之类的信息。

由于sps有效载荷具有全局范围,因此它可以发信号通知属性的类型、对应的维度(该信息可以隐式地从表中推导出)以及每个属性的实例数。

当前TMC2 SW中的视频数据单元是特定的帧组(GoF),并不遵循CD语法规范。

由于当前草案中未指定层0和层1交错的顺序,因此可以指定默认顺序。如果顺序是固定的且不可以改变的话,其可以对编码器施加约束。通过在报头中引入layer_index值,变得可以以更灵活的顺序对层进行编码。

添加“参数集id”能够支持:用更紧凑的方式来表示具有相似/一样特征(比例、偏移,例如,ROI)的一组图像块,而不需要发信号通知针对每个图像块的元数据信息;容错恢复;和协调:参数集ID的使用在HEVC/AVC中很好地建立起来。TMC13使用了类似的概念。

由于GoF概念被引入TMC2中但在当前草案中没有得以支持,因此仍然需要这样的机制,通过该机制可以识别有点类似于HEVC“IDR”或“CRA”图片的帧(封闭或开放GOP)内的随机接入点。一种实现方式包括:使用帧参数集单元来携带诸如以下之类的信息:1)IRAP(内部随机接入点,例如,IDR、CRA)的指示、2)重置解码器缓冲区的元数据信息和3)诸如重置默认值之类的其它。由于在CRA(开放GOP)的情况下输出顺序和解码顺序不一定相同,因此其使用取决于是否允许对辅助信息输入重新排序。

下面是示例性代码:

下面是示例性代码:

在委员会草案中,“sps_attribute_count”的语义被指定为:sps_attribute_count指示与点云关联的属性的数量。sps_attribute_count应当在0至65535的范围(包括端值)内。

sps_attribute_count的语义似乎指示与点云关联的各属性的属性实例的总数。随后,下面的语法表表示,对于相同的属性类型,尽管诸如“aps_attribute_codec_id”、“aps_attribute_dimension_minus1”之类的“attribute_parameter_set()”语法元素中的一些(或甚至可能是全部或一组)可以保持不变的事实,针对各属性实例都重复地调用“attribute_parameter_set()”结构。

序列参数集语法

可以存在可替换定义,该定义参考如下所示的多个属性类型,而非属性实例。对于后一种解释,sps_attribute_count值的范围应当在0至15的范围内。因此,能够实现下面对语法表的改变。

V-PCC单元报头语法

序列参数集语法

属性参数集语法

vpcc_attribute_type_index指示与点云关联的属性类型的索引。sps_attribute_type_index应当在0至15(包括端值)的范围内。

vpcc_attribute_instance_index指示属性视频数据单元中携带的属性数据的实例索引。vpcc_attribute_index的值应当在0至127(包括端值)的范围内。

sps_attribute_type_count指示与点云关联的属性类型的数量。sps_attribute_type_count应当在0至15(包括端值)的范围内。

aps_attribute_instance_count[i]指示与点云关联的属性类型i的属性实例的数量。aps_attribute_instance_count应当在0至127(包括端值)的范围内。

aps_attribute_group_present_flag[i]等于1指示与属性类型i关联的属性实例被分组。aps_attribute_group_flag[i]等于0指示与属性类型i关联的属性实例未被分组。当不存在aps_attribute_group_present_flag[i]时,应当推断其值等于0。

aps_attribute_group_count_minus1[i]+1指示与属性类型i关联的属性实例组的数量。aps_attribute_group_count[i]应当在1至127(包括端值)的范围内。当不存在aps_attribute_group_count_minus1[i]时,应当推断其值等于0。

aps_attribute_group_instance_map[i][j][k]指示属性实例k是否属于与属性类型i关联的属性实例组j。aps_attribute_group_instance_map[i][j][k]应当在0至1的范围内。当不存在aps_attribute_group_instance_map[i][j][k]时,应当推断其值等于1。当不存在aps_attribute_group_instance_map[i][j][k]时,推断所有属性实例都被映射到单个组中。

以上改变在vpcc_unit_header()处建立了“vpcc_attribute_index”与“vpcc_attribute_type”之间的对应关系,为相同属性类型的所有实例是否共享相似的属性参数集或分组提供灵活性,并基于属性类型激活了attribute_parameter_set()语法结构。

几何与属性层之间的紧密绑定(bound)

在委员会草案中,几何和属性之间的层数是相似的。因此这限制了处理其中属性可能不一定具有与几何相同的层数的情况的灵活性。简单的示例是维度大于3的属性的情况。第二示例可以是属性层可以与多层几何交错成单层,或反之亦然。

为了支持这样的灵活性,在语法表中进行以下改变:

属性参数集语法

aps_attribute_layer_count_present_flag[i]等于1指示对于索引为i的属性,属性层数与“sps_layer_count_minus1+1”不相同。aps_attribute_layer_count_present_flag[i]等于0指示对于索引为i的属性,属性层数与“sps_layer_count_minus1+1”相同。

asp_attribute_layer_abs_delta_count_minus1[i]+1指定索引为i的属性的属性层数与sps_layer_count之间的绝对差。asp_attribute_layer_abs_delta_count_minus1[i]的值应当在0至3(包括端值)的范围内。当不存在时,推断asp_attribute_layer_abs_delta_count_minus1[i]的值等于1。

asp_attribute_layer_count_sign_flag[i]等于1指定asp_attribute_layer_abs_delta_count_minus1[i]+1的值大于0。asp_attribute_layer_count_sign_flag[i]等于0指定asp_attribute_layer_abs_delta_count_minus1[i]+1的值小于0。当不存在时,推断asp_attribute_layer_count_sign_flag[i]的值等于0。

本文反映了属性解码处理的改变:

如果sps_attribute_count等于0,则没有属性视频帧被解码,并且没有属性信息与最终重构的点云关联。

attributeLayerCount=(sps_layer_count_minusl+1)+asp_attribute_layer_count_sign_flag[vpcc_attribute_index]*(asp_attribute_layer_abs_delta_count_minusl[vpcc_attribute_index]+1)

否则(如果sps_attribute_count不等于0),适用以下:

如果attributeLayerCount等于0,则调用数量为sps_attribute_count的视频解码处理,每个视频解码处理各自具有与之关联的不同的vpcc_attribute_index,以及通过aps_attribute_codec_id[vpcc_attribute_index]指定的关联编解码器作为输入。该处理的输出是经解码的显示/输出顺序的属性视频帧AttrFrame[attrIdx][layerIdx][orderIdx][compIdx][y][x]以及其关联的位深度AttrBitDepth[attrIdx][layerIdx][orderIdx]、宽度AttrWidth[attrIdx][layerIdx][orderIdx]和高度AttrHeight[attrIdx][layerIdx][orderIdx]信息,其中attrIdx对应于属性索引并在0至sps_attribute_count-1(包括端值)的范围内,layerIdx对应于层索引并等于0,orderIdx是经解码属性帧的显示顺序索引,compIdx对应于属性分量索引并在0至aps_attribute_dimension_minus1[attridx-1]的范围内,y在0至AttrHeight[attrIdx][layerIdx][orderIdx]-1(包括端值)的范围内,并且x是经解码帧中的列索引并在0至AttrWidth[attrIdx][layerIdx][orderIdx]-1(包括端值)的范围内。

否则(sps_layer_count_minus1不等于0),适用以下:

如果sps_multiple_layer_streams_present_flag等于0,则调用数量为sps_attribute_count的视频解码处理,每个视频解码处理具有与之关联的不同的vpcc_attribute_index,以及通过aps_attribute_codec_id[vpcc_attribute_index]指定的关联编解码器作为输入。该处理的输出是经解码的显示/输出顺序的中间属性视频帧tempAttrFrame[attrIdx][tempOrderIdx][compIdx][y][x]以及其关联的位深度tempAttrBitdepth[attrIdx][tempOrderIdx]、宽度tempAttrWidth[attrIdx][tempOrderIdx]和高度tempAttrHeight[attrIdx][tempOrderIdx]信息,其中attrIdx对应于属性索引并在0至sps_attribute_count-1(包括端值)的范围内,tempOrderIdx是所有经解码属性帧的显示顺序索引,compIdx对应于属性分量索引并在0至aps_attribute_dimension_minus1[attridx-1]的范围内,y是在0至tempAttrHeight[attrIdx][tempOrderIdx]-1(包括端值)的范围内,并且x是经解码帧中的列索引并在0至tempAttrWidth[attrIdx][tempOrderIdx]-1(包括端值)的范围内。然后,如下地推导按各层的显示/输出顺序orderIdx针对索引attrIdx的属性的经解码属性视频帧:

最后,为了清楚且易于解释,针对二者使用“vpcc_geometry_layer_index”和“vpcc_attribute_layer_index”,而非“vpcc_layer_index”。

针对几何和属性的单个比特流和多个比特流

sps_multiple_layer_streams_present_flag等于0指示所有几何或属性层分别被置于单个几何或属性视频流中。sps_multiple_layer_streams_present_flag等于1指示所有几何图形或属性层被置于单独的视频流中。当不存在sps_multiple_layer_streams_present_flag时,应当推断其值等于0。

基于以上的语义,目的是在几何和属性层之间进行单/多层流的紧密绑定。为了使未来扩展能够有灵活性,一个选项是针对几何和属性分别定义sps_multiple_layer_streams_present_flag(例如,sps_multiple_geometry_layer_streams_present_flag和sps_multiple_attribute_layer_streams_present_flag,其默认为sps_multiple_geometry_layer_streams_present_flag=sps_multiple_attribute_layer_streams_present_flag)。

几何序列参数语法

geometry_parameter_set()/attribute_paramet()与geometry_sequence_params()/attribute_sequence_params()排序。

在当前语法中,以上语法结构的调用顺序如下:

sequence_parameter_set->geometry/attribute_parameter_set->geometry/attribute_sequence_params

sequence_parameter_set->geometry/attribute_sequence_params->geometry/attribute_parameter_set

图9图示了根据一些实施例的实现点云编码结构的方法的流程图。在步骤900中,开发/实现点云编码结构。开发和实现点云编码结构包括确定“关键”点云帧。关键点云帧是不取决于用于预测的任何其它帧的帧。

在步骤902中,使用双向预测进行编码。使用用于存储过去信息和未来信息(诸如图像块信息和/或元数据信息)的两个单独的结构(例如,列表)来实现双向预测,并且当执行预测时,能够使用过去信息和/或未来信息进行预测。这些结构能够被存储在点云图像块缓冲区中。针对点云的层利用缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。另外,实现了用于使V-PCC的块相关的信令方法。在一些实施例中,实现更少或附加的步骤。例如,还实现解码的步骤。在一些实施例中,修改步骤的顺序。

图10图示了根据一些实施例的被配置为实现点云编码结构的示例性计算设备的框图。计算设备1000能够用于获取、存储、计算、处理、通信和/或显示诸如包括3D内容的图像和视频之类的信息。计算设备1000能够实现点云编码结构方面中的任何。通常,适于实现计算设备1000的硬件结构包括网络接口1002、存储器1004、处理器1006、I/O设备1008、总线1010和存储设备1012。处理器的选择并不关键,只要选择速度足够的合适处理器即可。存储器1004能够是本领域中已知的任何常规计算机存储器。存储设备1012能够包括硬盘驱动器、CDROM、CDRW、DVD、DVDRW、高清晰度盘/驱动器、超高清驱动器、闪存卡或任何其它存储设备。计算设备1000能够包括一个或多个网络接口1002。网络接口的示例包括连接到以太网或其它类型的LAN的网卡。I/O设备1008能够包括以下中的一个或多个:键盘、鼠标、监视器、屏幕、打印机、调制解调器、触摸屏、按钮接口和其它设备。用于实现点云编码结构的点云编码结构应用1030有可能被存储在存储设备1012和存储器1004中,并如被典型地处理的应用一样被处理。图10中示出的更多或更少的部件能够被包括在计算设备1000中。在一些实施例中,包括点云编码结构硬件1020。尽管图10中的计算设备1000包括用于点云编码结构的应用1030和硬件1020,但点云编码结构能够以硬件、固件、软件或其任何组合在计算设备上实现。例如,在一些实施例中,点云编码结构应用1030在存储器中被编程并被使用处理器执行。在另一示例中,在一些实施例中,点云编码结构硬件1020是经编程的硬件逻辑,包括专门设计用于实现点云编码结构的门。

在一些实施例中,点云编码结构应用1030包括几个应用和/或模块。在一些实施例中,模块也包括一个或多个子模块。在一些实施例中,能够包括更少或附加的模块。

在一些实施例中,点云编码结构硬件1020包括诸如透镜、图像传感器和/或任何其它相机部件之列的相机部件。

合适的计算设备的示例包括个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持计算机、个人数字助理、蜂窝/移动电话、智能设备、游戏控制台、数码相机、数字摄录机、相机电话、智能电话、便携式音乐播放器、平板计算机、移动设备、视频播放器、视频盘写入器/播放器(例如,DVD写入器/播放器、高清盘写入器/播放器、超高清盘写入器/播放器)、电视、家庭娱乐系统、增强现实设备、虚拟现实设备、智能饰品(例如,智能手表)、车辆(例如,自动驾驶车辆)或任何其它合适的计算设备。

为了利用本文描述的点云编码结构,设备获取或接收3D内容,并以优化的方式处理和/或发送内容,以使3D内容能够进行正确、有效地显示。点云编码结构能够在用户辅助下实现,或在没有用户参与的情况下自动地实现。

在操作中,点云编码结构更有效地对3D内容进行编码。点云编码结构定义了“关键”点云帧,其中用于预测点云图像块的所有参考都限于当前点云帧。点云图像块缓冲区包括参考图像块的列表,并且来自点云帧的其相应边界框被存储以被用于预测另一帧中的图像块。在允许点云帧的编码顺序不同于呈现顺序的情况下,参考图像块的列表可以包含来自过去的图像块和来自未来的图像块,并且使用双向预测。类似的参考缓冲区列表概念能够应用于点云的层。还描述了信令方法,该信令方法通过在有效载荷内发信号通知对包含较高级信息的块的ID的参考来使V-PCC的块相关。这些实现方式提高了编码的效率。

点云编码结构的一些实施例

1、一种在设备的非暂态存储器中编程的方法,包括:

实现点云编码结构;以及

使用所述点云编码结构对点云元数据进行编码。

2、根据条款1所述的方法,其中实现所述点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。

3、根据条款1所述的方法,其中对所述点云元数据进行编码利用双向预测,其中双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。

4、根据条款3所述的方法,其中双向预测实现两个单独的结构:用于所述过去的图像块和元数据信息的第一结构以及用于所述未来的图像块和元数据信息的第二结构。

5、根据条款1所述的方法,其中所述第一结构和所述第二结构被存储在点云图像块缓冲区中。

6、根据条款1所述的方法,还包括利用用于点云的层的缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。

7、根据条款1所述的方法,还包括实现信令方法以使V-PCC的块相关。

8、一种装置,包括:

用于存储应用的非暂态存储器,所述应用用于:

实现点云编码结构;以及

使用所述点云编码结构对点云元数据进行编码;以及

耦接到所述存储器的处理器,所述处理器被配置用于处理所述应用。

9、根据条款8所述的装置,其中实现所述点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。

10、根据条款8所述的装置,其中对所述点云元数据进行编码利用双向预测,其中双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。

11、根据条款10所述的装置,其中双向预测实现两个单独的结构:用于所述过去的图像块和元数据信息的第一结构以及用于所述未来的图像块和元数据信息的第二结构。

12、根据条款8所述的装置,其中所述第一结构和所述第二结构被存储在点云图像块缓冲区中。

13、根据条款8所述的装置,还包括利用用于点云的层的缓冲区列表,以使点云的点能够被投影在彼此的顶部上。

14、根据条款8所述的方法,还包括实现信令方法以使V-PCC的块相关。

15、一种系统,包括:

点云编码结构;以及

用于使用所述点云编码结构对点云元数据进行编码的编码器。

16、根据条款15所述的系统,其中实现所述点云编码结构包括确定不取决于用于预测的任何其它帧的关键点云帧。

17、根据条款15所述的系统,其中对所述点云元数据进行编码利用双向预测,其中双向预测包括使用过去的图像块和元数据信息以及未来的图像块和元数据信息。

18、根据条款17所述的系统,其中双向预测实现两个单独的结构:用于所述过去的图像块和元数据信息的第一结构以及用于所述未来的图像块和元数据信息的第二结构。

19、根据条款15所述的系统,其中所述第一结构和所述第二结构被存储在点云图像块缓冲区中。

20、根据条款15所述的系统,还包括利用用于点云的层的缓冲区列表,以使得点云的点能够被投影在彼此的顶部上。

21、根据条款15所述的系统,还包括实现信令方法以使V-PCC的块相关。

本发明已经依据包含细节的具体实施例进行了描述,以促成对本发明的构造和操作原理的理解。本文对具体实施例及其细节的这种参考不旨在限制所附权利要求书的范围。对于本领域的技术人员而言,将清楚的是,在不脱离如权利要求书所限定的本发明的精神和范围的情况下,可以在为了说明而选择的实施例中进行其它各种修改。

相关技术
  • 点云邻居确定、点云预测、点云编码、点云解码方法及设备
  • 点云属性编码方法和装置以及点云属性解码方法和装置
技术分类

06120113142373