用于顶点误差校正的方法和装置的制造方法

文档序号:9383126阅读:424来源:国知局
用于顶点误差校正的方法和装置的制造方法【
技术领域
】[0001]本发明涉及一种用于生成代表3D模型的比特流的方法和装置,以及一种用于解码该比特流的方法和装置。【
背景技术
】[0002]在实际应用中,许多3D模型由大量的连接组件构成。这些多组件3D模型通常包含许多采用各种变换的重复结构,如图1所示。[0003]已知用于多组件3D模型的利用了输入模型中重复结构的压缩算法。3D模型的重复结构以各种位置、方向和缩放因子被发现。于是,3D模型被组织成"模式-实例"("pattern-instance")的表示。模式用于标记对应的重复结构的代表性几何图形。属于一个重复结构的组件被标记为对应模式的实例,并由模式ID以及相对于该模式的例如反射、平移、旋转和可能的缩放的变换信息来表示。实例变换信息可被组织成例如反射部分、平移部分、旋转部分和可能的缩放部分。可能存在一些不重复的3D模型的组件,其被称为独特组件。[0004]由W.Jiang、K.Cai和J.Tian(PCT/CN2012/074286,代理人案号为No.PA120012,以下简称"Jiang")共同拥有且名称为"VertexCorrectionforRotated3DComponents"的PCT申请,通过引用将其教导明确地并入本文,该PCT申请公开了在编码和解码3D模型时用于顶点误差补偿的方法和装置。【
发明内容】[0005]本原理提供了一种用于生成表示3D模型的比特流的方法,如下所述包括步骤:访问与实例对应的重构实例;基于实例的顶点与重构实例的对应顶点之间的顶点坐标误差而确定量化参数;响应于所确定的量化参数而确定量化索引;以及将量化索引和顶点坐标误差编码成比特流。本原理还提供了一种用于执行这些步骤的装置。[0006]本原理提供了一种用于解码表示3D模型的比特流的方法,如下所述包括步骤:访问与实例对应的重构实例;根据比特流而确定量化索引;响应于量化索引而确定量化参数;解码代表实例的顶点与重构实例的对应顶点之间的误差的顶点坐标误差;以及响应于所解码的顶点坐标误差而细化(refine)重构实例。本原理还提供了一种用于执行这些步骤的装置。[0007]本原理还提供了一种计算机可读存储介质,在其上存储了用于根据如上所述的方法而生成或解码表示3D模型的比特流的指令。[0008]本原理还提供了一种计算机可读存储介质,在其上存储了根据如上所述的方法生成的表示3D模型的比特流。【附图说明】[0009]图1示出了具有大量的连接组件和重复结构的示例性3D模型;[0010]图2A示出了绘出模式的图形例子,图2B示出了绘出对应实例和重构实例的图形例子;[0011]图3是绘出根据本原理的实施例的用于编码3D模型的实例的例子的流程图;[0012]图4是绘出根据本原理的实施例的用于解码3D模型的实例的例子的流程图;[0013]图5示出了根据本原理的示例性实例编码器;[0014]图6示出了根据本原理的示例性实例解码器。【具体实施方式】[0015]如图1所示,在3D模型中可存在许多重复结构。为了有效地编码3D模型,可将重复结构组织成模式和实例,其中例如使用对应模式的模式ID以及包含诸如平移、旋转和缩放的信息的变换矩阵,可以将实例表示为对应模式的变换。[0016]当实例由模式ID和变换矩阵表示时,模式ID和变换矩阵将在压缩实例时被压缩。因此,实例可通过模式ID和解码的变换矩阵来重构,即,实例可被重构为由模式ID进行索引的解码的模式的(根据解码的变换矩阵的)变换。在一个实施例中,在编码变换矩阵时,变换矩阵的旋转部分可例如使用固定数量的比特来量化。由于在量化时引入的损失,解码的旋转部分可能不同于原始的旋转部分。[0017]图2A和2B示出了2D表示的示例性组件,其中组件210和220是模式,组件250和270(以实线描绘的)是将要被压缩的原始实例,组件260和280(以虚线描绘的)是重构实例。具体地,实例250和270可以分别被表示为模式210和220的变换(例如,旋转和平移)版本。[0018]在图2B的例子中,旋转的量化引入大约5°的误差,从而造成原始实例与重构实例之间的差异。正如图2B中可以看到的,虽然(以角度测量的)旋转误差对于实例250和270是类似的,但是由旋转量化而造成的顶点坐标误差(即,原始实例和重构实例之间的顶点偏移,例如图2B中从A到A'、从B到B')在两个实例之间显著变化,其中实例270具有大得多的顶点坐标误差。因此,重构组件的质量可能是不一致的,例如,较大的实例相对于较小的实例具有更低的重构质量。[0019]在Jiang中,为了有效地补偿顶点坐标误差,可以为顶点的顶点坐标误差估计上限(upperbound)。根据上限,编码解码器决定顶点的顶点坐标误差是否需要压缩,如果需要压缩,则决定用于压缩顶点坐标误差的量化参数。在编码器和解码器处均可以估计上限,因此不需要明确的信令以指示是否使用顶点坐标误差补偿或指示用于顶点坐标误差的量化参数。[0020]本原理还提供用于有效地补偿由旋转量化而造成的顶点坐标误差的方法和装置。为了降低解码器处的计算负荷,在比特流中用信号表达(signal)量化参数。在一个实施例中,通过量化表在比特流中传输与用于量化顶点坐标误差的量化比特数量对应的索引。[0021]图3示出了用于编码3D模型的实例的示例性方法300。方法300在步骤305开始。在步骤310,输入3D模型数据,并执行初始化。还可输入或者从输入中推断出附加数据,诸如质量参数、最大容许顶点坐标误差、变换矩阵的平移部分和旋转部分的量化参数。在一个示例性实施例中,初始化步骤可以将重复结构组织成模式和实例,生成实例的变换矩阵,并将模式编码以形成重构模式。对于特定的待编码实例(标记为C),对应的原始模式、重构模式和变换矩阵分别被标记为P、P'和T。有可能实例可被精确地表示为模式的变换,gp,C=TP。或者,在某些情况下模式的变换是实例的近似,即,C~TP。[0022]在步骤320,编码变换矩阵(T)。在步骤330,所编码的变换矩阵接着被解码为Τ',并且例如使用对应的重构模式和解码的变换矩阵来重构实例(C'=Τ'Ρ')。[0023]在步骤340,将重构实例中的顶点(V1')与原始实例中的对应顶点(V1)之间的顶点坐标误差(E1)计算为例如E1=V1-V^。为了编码顶点坐标误差,在步骤350估计量化参数。在步骤360,量化并编码顶点坐标误差。此外,在比特流中用信号表达量化参数。在步骤370,检查是否还有顶点需要处理。如果还有顶点将要处理,则控制返回到步骤340。否贝IJ,控制转到结束步骤399。[0024]为了有效地用信号表达量化参数,可以将量化参数的索引编码到比特流中,而不是将实际的量化参数编码到比特流中。使用量化比特数量作为示例性量化参数,进一步详细讨论量化过程。本原理还可以在使用其它量化参数时运用,所述其它量化参数例如但不限于量化步长。[0025]表1[0026][0027]表1示出了示例性量化表,其中量化比特数量被映射为量化索弓丨。具体地,[0028]QBtable[0]=2;[0029]QBtable[1]=4;[0030]QBtable[2]=5;[0031]QBtable[3]=6。[0032]对于特定顶点,我们将MaxErrorAllow标记为由用户提供的质量要求(即,最大容许顶点坐标误差),并将Error标记为原始实例和重构实例的顶点坐标之间的差异。对于该特定顶点,我们将量化顶点坐标误差所需要的初始比特数量估计为:
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1