基于具有复制点的空间树的位置编码的制作方法

文档序号:6485192阅读:117来源:国知局
基于具有复制点的空间树的位置编码的制作方法
【专利摘要】本发明提供了一种用于构造与领域相对应的空间树数据结构的方法和设备。根据本原理,单元可包括一个点或被确定为复制点的一组点。在实施例中,基于单元内包括的点的大小来确定复制点。在特定单元内包括复制点而不是进一步细分该单元,提供了编码效率。本原理在四叉树或八叉树类型分区的上下文下特别有利,并可被用在3D网格编码中。
【专利说明】基于具有复制点的空间树的位置编码
【技术领域】
[0001]本发明涉及三维(3D)模型,以及更具体地涉及用于生成与空间树数据结构相关联的符号序列的方法和设备,以及用于处理编码序列的方法和设备。
【背景技术】
[0002]在3D网格编码中,通常通过基于空间树分解的方案(例如,基于八叉树(Octree)的方法)来压缩几何数据。除了支持渐进式编码之外,其还实现了可观的压缩增益。在基于Octree的方法中,编码器递归地将给定3D模型的最小的轴对齐包围框细分为8个子单元。对单元进行递归地细分,直到每个非空单元足够小,使得其仅包含一个顶点并能够充分精确地重构顶点位置。对于每次单元细分,通过符号来表示每个子单元是否是空的。通过首先遍历和收集对节点的细分进行表示的符号来生成描述Octree的符号序列(称为遍历符号序列)。然后利用熵编解码来压缩该符号序列。

【发明内容】

[0003]根据本原理,描述了构造与领域相对应的空间树数据结构的方法的实现,该方法包括:选择所述领域内的区域;确定所述区域是否包括复制点,其中,所述复制点包括所述区域中的两个或更多个点;如果所述区域包括复制点,则记录指示所述区域存在复制点的区域信息,并停止进一步细分所述区域。
[0004]领域可被进一步划分为区域,对区域进行递归细分,以使得最终的细分区域中的每个细分区域仅包括点或复制点。可以基于点的大小来执行关于是否存在复制点的确定,下面进一步对此进行讨论。可以在生成与3D网格编码相联系的树数据结构中有利地使用本原理。
[0005]根据本原理,描述了构造与领域相对应的空间树数据结构的设备的另一实现,包括:用于选择所述领域内的区域的装置;用于确定所述区域是否包括复制点的装置,其中,所述复制点包括所述区域中的两个或更多个点;用于在所述区域包括复制点的情况下,记录指示所述区域存在复制点的区域信息,并停止进一步细分所述区域的装置。
[0006]领域可被进一步划分为区域,对区域进行递归细分,以使得最终的细分区域中的每个细分区域仅包括点或复制点。可以基于点的大小来执行关于是否存在复制点的确定,下面进一步对此进行讨论。可以在生成与3D网格编码相联系的树数据结构中有利地使用本原理。
[0007]本原理还提供计算机可读介质,其上存储了用于执行上述步骤的指令。
[0008]本原理还提供计算机可读介质,其上存储了由上述步骤生成的符号序列。
[0009]在附图和下面的描述中阐述了一个或多个实现的细节。虽然是通过一个具体方式来描述的,但是应该清楚的是,可以通过各种方式来配置或具体实施所述实现。例如,一个实现可被实施为方法,或具体实施为设备(例如,配置为执行一组操作的设备,或存储用于执行一组操作的指令的设备),或具体实施在信号中。结合附图和权利要求进行考虑,根据以下详细描述,其他方案和特征将变得显然。
【专利附图】

【附图说明】
[0010]图1示出了领域的示例性单元或区域,该领域被细化并被遍历以确定单元中是否存在点;
[0011]图2示出了具有点的示例性领域,该领域被迭代地划分,以使得每个单元包括一个占.[0012]图3示出了基于图2的领域的示例性四叉树(quadtree)表示;
[0013]图4示出了在生成树数据结构中细分单元或区域的常规方法;
[0014]图5示出了示例性区域,其中一个单元具有一组复制点;
[0015]图6示出了四叉树表示,该四叉树表示是通过向图5的领域应用细分单元的常规方法而产生的;
[0016]图7示出了以簇的方式对输入数据集进行分隔;
[0017]图8示出了根据本原理的包括细分单元或区域的步骤的示例性方法;
[0018]图9示出了根据本原理的图5的领域的四叉树表示;
[0019]图10示出了根据本原理的针对复制点生成的示例性数据单元;
[0020]图11是描述可以与一个或多个实现一起使用的数据处理系统的示例的框图;以及
[0021]图12是描述可以与一个或多个实现一起使用的数据处理系统的另一示例的框图。
【具体实施方式】
[0022]基于空间树的方案可被用于压缩几何数据,例如防水3D模型的随机点位置和顶点位置。其通过八叉树或k_d树来组织输入的空间点。树被遍历,且树恢复所需的信息被存储。
[0023]最初,构造包围3D模型的所有点的包围框。在开始时,所有3D点的包围框被视为单个单元。为了构筑空间树,对单元进行递归地细分,
[0024]直到每个非空单元足够小到仅包含一个顶点并使得能够充分精确地重构顶点位置。可以根据对应单元的中心坐标来恢复顶点位置,基于空间树的算法可以利用与单分辨率压缩算法相同的压缩比来实现多分辨率压缩。
[0025]基于八叉树的方案在每次迭代中将非空单元细分为8个子单元。为了易于说明,图1中示出了描述四叉树的2D示例。由箭头来表示遍历顺序。对于编码,将当前的父单元分割为通过预定的顺序遍历的4个子单元,以及每个子单元用单个比特来指示该子单元内是否存在点。例如,在图1中,如箭头所示地遍历父单元100。子单元101、102、104和103被遍历,且单个比特指示每个被遍历的单元内是否存在点。
[0026]图2示出了构筑四叉树的过程,其中,小的黑色方块指示要编码的点。这是个递归过程,其中,包括至少一个点的单元可被进一步细分,直到每个单元仅包括一个点为止。在第一次迭代中,平面被划分为4个单元201、201、203和204,并如图1中所示地遍历。因为每个子单元包含了至少一个点,对应的非空单元配置是1111。每个包括点的单元被进一步细分为4个等大小的单元,如块220所示。然后,在4个单元块内遍历块220中的子单元。针对单元块221示出了示例,其中,以图1中示出的顺序遍历块中的每个单元,产生对应的非空子单元配置0010。也对块220中的剩余4个单元块进行遍历,产生配置001011110100和 1101。
[0027]再次地,将每个包括点的单元进一步细分为等大小的块,每个块具有4个单元,并遍历每个单元以确定对应的非空子单元配置。在本情况下,结果是:一00100001等,且图3中示出了四叉树表示。
[0028]虽然以上描述是关于四叉树结构提供的,但是可以将类似的方法应用于八叉树方案,在八叉树方案中,可以将三维的父单元分割为8个子单元,且可以通过预定的方式遍历每个子单元,以确定哪些单元包括点。将每个包括点的单元进一步分割为8个单元,并再次通过预定的方式来遍历,以确定哪些单元包括点。该过程继续,直到每个单元包括单个点,这与上述的过程类似于。
[0029]注意,父单元内的子单元的特定遍历顺序对于本实施例而言并不非常相关。在理论上,可以将任何遍历顺序用于本实施例。
[0030]提出以上方案以表示防水3D模型的顶点位置。在表示随机分布的点时,预测方法变得不可用。因此,考虑到复杂性和鲁棒性,我们优选利用基本的空间树方法来进行位置编码。以四叉树为例,由4比特二进制代码来表示非空子单元配置,其覆盖了所有的15种组合。并因此不再需要非空子单元的数目T。
[0031]图4示出了上述用于构筑四叉树的方法的步骤的流程图,其中,th是允许的最大误差,Cu表示第I层的第k个单元,以及Cu是Cu的中心点。只要细分结束,编码器便检查下面两个条件:
[0032](a)最深层的每个子单元最多包含一个点。
[0033](b)子单元的中心与内部的点之间的距离小于最大误差。
[0034]以上机制对均匀分布的点很适用。然而,在点是不均匀分布时,这可能不是高效的。考虑图5中的情况。在此,假设所需的最大误差是0.125,并从而对多数点而言两次细分是足够的。然而,点502和504非常靠近并且不能满足停止条件。因此,细分过程必须继续,并进一步细分单元,导致图6中示出的四叉树构建。作为结果,每个点最终占据一个单元。然而,生成图6中的块610示出的结果的附加步骤是无用的,因此该压缩是低效的。此夕卜,在不均匀分布的点的情况下,一些点对近到足以被认为是复制点,该复制点不需要被进一步细分。为了压缩效率,本发明提出:可以放松或调整空间树构造期间的停止条件,使得在特定情况下,最深层处的单元可以包含一个以上的点。
[0035]具体地,本发明提供了用于针对具有不均匀分布的点的单元构造空间树的改进方法和装置。在现有方法中,每个点都应该占据最深层上的单元。然而,发明人已认识到存在可被认为是复制点的一些靠近的点对。这使得用以细分这些种类的点的压缩是低效的。因此,可以放松空间树构造的约束,以允许每个单元中有一个以上的点。根据本发明,为了改进不均匀分布的点的压缩效率,检测一个单元中的复制点,并在编解码模块中利用针对这种单元的规定。
[0036]在实施例中,在一个单元中定义复制点,以放松对常规空间树的约束。对于一个单元中不均匀分布的点,可以将点的大小计算为其外接球的半径。利用与点的数目和大小有关的两个阈值来确定这些点是否是复制点。
[0037]根据本原理,不对包含复制点的单元进行进一步细分。在编解码模块中,提出针对这种单元的规定,以记录用于压缩的相关信息。
[0038]考虑到复制点的空间树构造
[0039]图8示出了根据本原理的考虑到复制点的空间树构造的流程图。使用例如在K.Ca1、Y.Jin 和 Z.Ch en 的题为 “Cluster Based Compression Algorithm for3D MeshModels Using Multiple KD-Trees”的 PCT 申请(PCT/CN2009/001143)中提出的方法,首先根据输入点的空间位置将输入点分成簇。每个簇包含在空间上聚集的一组点。然后,如图7中所示,通过利用八叉树来组织每个簇中的所有点,对每个簇进行压缩。
[0040]对于每个八叉树,遵循常规的构造方法,将不均匀分布的点细分到不同层级的单元中。然而,为了提高压缩效率,最深层级的单元在我们的假设中可以包含一个以上的点。在实施例中,可以如下定义复制点。Num_DP_Max表示一个单元可以容纳的点的最大数目。在实施例中,其值是16。在构造空间树时,检查每个单元中的点的数目Num_P_Cell。如果l<Num_P_Cell< = Num_DP_Max,检查该单元中的点,以确定其是否是复制点。否则,如果该点不是复制点,则该单元将被进一步细分,直到其子单元中的点是复制点或者其子单元仅包含一个点。
[0041]为了定义复制点,将一个单元中包围所容纳的点的大小计算为外接球的最小半径。如果该大小小于特定阈值,则将离散的点确定为复制点。
[0042]在单元C1J 中,存在着 Num_P_Cell 个点Pw,...,P1^,...)。因此,可以将这些点的中心计算为:
【权利要求】
1.一种构造与领域相对应的空间树数据结构的方法,包括: 选择所述领域内的区域; 确定所述区域是否包括复制点,其中,所述复制点包括所述区域中的两个或更多个占.如果所述区域包括复制点,记录指示所述区域存在复制点的区域信息,并停止进一步细分所述区域。
2.根据权利要求1所述的方法,其中,所述确定步骤包括: 计算包围所述区域中的点的区域的大小; 将所述大小与预定阈值大小相比较;以及 响应于所述比较,确定所述区域中是否包括复制点。
3.根据权利要求2所述的方法,其中,所述确定步骤还包括: 确定所分解的区域中包括的点的数目; 如果所述区域中包括的点的数目小于阈值数目,则针对所述区域中每个点的大小执行所述计算和比较步骤,以确定所述区域中是否包括复制点。
4.根据权利要求3所述的方法,其中,确定所述区域是否包括复制点的步骤包括确定所述区域是包括一个点,复制点,还是多个非复制点,所述方法还包括以下步骤: 如果所述区域包括多个非复制点,则 将所述区域细分为多个细分区域, 确定所述细分区域包括一个点,复制点,或者多个点中的哪一种, 重复所述细分和确定步骤,直到所有的细分区域或进一步细分区域仅包括一个点或复制点;以及 记录指示所述区域、细分区域或进一步细分区域存在所述点或复制点的区域信息。
5.根据权利要求4所述的方法,进一步包括以下步骤: 将所述领域划分为多个区域; 执行所述细分、确定和重复步骤,直到所述领域被分解为仅包括一个点或复制点的区域;以及 记录所述领域的每个分解区域的区域信息。
6.根据权利要求5所述的方法,其中:如果区域中的点的数目对应于则所述点的中心对应于center ~ Num_P_Ccll\P'k-m ’ U 及大小又寸 & TsteLk = ^JiPcenterx ~ Xmaxf + if centery ~ Jmax)2 + (Pcenter, ~ Zmaxf,且如果计算出的大小小于与D尸—淡= mAin|/7m;te;_-c/+u|相对应的预定阈值大小,则确定所述区域包括复制点。
7.根据权利要求1所述的方法,其中,所述记录步骤包括:生成包括复制点数目字段、位置字段以及单元中的点数目字段中的至少一个的数据字段。
8.根据权利要求1-6中任一项所述的方法,其中,所述空间数据结构对应于四叉树和八叉树类型划分之一,以及所述区域对应于四叉树和八叉树类型划分的单元或子单元。
9.根据权利要求8所述的方法,其中,所述空间数据结构被用于执行3D网格编码。
10.一种用于构造与领域相对应的空间树数据结构的设备,包括: 用于选择所述领域内的区域的装置; 用于确定所述区域是否包括复制点的装置,其中,所述复制点包括所述区域中的两个或更多个点; 用于如果所述区域包括复制点,记录指示所述区域存在复制点的区域信息,并停止进一步细分所述区域的装置。
11.根据权利要求1所述的设备,其中,所述确定装置适于:计算包围所述区域中的点的区域的大小;将所述大小与预定阈值大小相比较;以及响应于所述比较,确定所述区域中是否包括复制点。
12.根据权利要求11所述的设备,其中,所述确定装置还适于:确定所分解的区域中包括的点的数目;如果所述区域中包括的点的数目小于阈值数目,则针对所述区域中每个点的大小执行所述计算和比较步骤,以确定所述区域中是否包括复制点。
13.根据权利要求12所述的设备,其中,所述确定装置还适于:确定所述区域是包括一个点,复制点,还是多个非复制点,其中 如果所述区域包括多个非复制点,则 将所述区域细分为多个细分区域, 确定所述细分区域包括一个点,复制点,或者多个点中的哪一种, 重复所述细分和确定步骤,直到所有的细分区域或进一步细分区域仅包括一个点或复制点;以及 记录指示所述区域、细分区域或进一步细分区域存在所述点或复制点的区域信息。
14.根据权利要求13所述的设备,还包括用于以下操作的装置:将所述领域划分为多个区域;执行所述细分、确定和重复步骤,直到所述领域被分解为仅包括一个点或复制点的区域;以及记录所述领域的每个分解区域的区域信息。
15.根据权利要求14所述的设备,其中,所述确定装置适于通过以下方式确定是否存在复制点:如果区域中的点的数目对应于则所述点的中心对应于
16.根据权利要求10所述的设备,其中,所述记录装置适于:生成包括复制点数目字段、位置字段以及单元中的点数目字段中的至少一个的数据字段。
17.根据权利要求10-16中任一项所述的设备,其中,所述空间数据结构对应于四叉树和八叉树类型划分之一,以及所述区域对应于四叉树和八叉树类型户分的单元或子单元。
18.根据权利要求17所述的设备,其中,所述空间数据结构被用于执行3D网格编码。
19.一种计算机可读介质,其上存储用于执行根据权利要求1-9中任一项所述步骤的指令。
20.一种计算机可读介质,其上存 储由根据权利要求1-9中任一项所述的步骤生成的符号序列。
【文档编号】G06T17/00GK103959342SQ201180075047
【公开日】2014年7月30日 申请日期:2011年11月25日 优先权日:2011年11月25日
【发明者】罗涛, 江文斐, 蔡康颖 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1