网格压缩的制作方法

文档序号:6424279阅读:182来源:国知局
专利名称:网格压缩的制作方法
技术领域
本发明涉及用于有效存储和发送的三维目标数据的压缩。本发明尤其涉及创建细的线网框架表面三维目标的复制品(1ikeness),可以把这些三维目标“覆盖”在表面纹理上,重现(rendering)和阴影(shading),以创建可以通过线框架的旋转、反射和平移而移动的外貌逼真的目标图像。本发明更尤其涉及通过重复施加表面分割过程来创建如此的细的线网框架表面,所述表面分割过程从起始的简单形状的开始线框架“骨架(hull)”开始,通过对简单的开始骨架的旋转、平移、缩放或变形而移动最终的覆盖的和细节的目标。
在这种情况中,三维目标是,借助在每个多边形角(顶点)处的三维位置矢量,通过在三维空间中定义的多边形(小平面(facet))的集合,而描述的无限薄的外壳。每个多边形具有相关联的色度、饱和度、指向以及阴影效应。通过顶点的整个组的平移、旋转、缩放和变形,可以移动三维目标。即使在简单的目标中,也可能有数百万那么多的象素。每个象素具有与它相关联的、定义它的空间位置(达高精确度的)的许多数据位。此外,每个小平面具有与它相关联的、定义构成它的形状的顶点的许多数据位,以及诸如色度、饱和度、反射系数等它的可见特性。三维可视目标是数据密集的。
例如,当三维目标在因特网上发送、或发送到蜂窝电话、或存储在盘上或其它存储器器件中时,就出现了问题。许多兆字节的数据要发送较长时间,或占用大量的容量。按14.4kb/s的标准因特网速度,正好要超过九分钟才能下载一兆字节的可视目标。按较低的蜂窝电话信令速度,甚至按比例要化更长时间。这种延迟是不可接受的。
当希望操纵三维可视目标的视图时,出现了另一个问题。在传统的两维显示器装置的情况下,通过把三维数据投影到两维显示器上而得到目视观察。在所操纵的图像处于合适的观看状态之前,需要接收装置计算极大量的位置数据(每个顶点至少一组计算)。由于“景象(scene)”可能是由许多独立的三维目标构成的,所以发生进一步的困难。必须对相对于视点移动或旋转的每个目标进行计算。总之,可以说在当今的设备中,某种程度真实感的复杂三维可视目标是不适合于快速发送或快速接连改变取向的。
为了避免仍需要发送定义每个表面顶点的位置数据这样的问题,使用了一种缩减技术。找到只具有少数几个顶点的简化的形状。发送经简化的形状的极少数顶点的位置细节(detail)。在接收端把经简化的形状和表面分割算法一起使用。在表面分割过程中处理(分割)定义经简化了形状的每个多边形,以产生连接的但是较小的多边形。把这个过程再施加于新的多边形,依次类推,直到已经达到细节(分辨率或表面光滑度)的合适的细度(fineness)。
在球体的例子中可以看到这种技术的威力的一个例子。可以在空间和有维数的空间中定义极高分辨率的球体,从诸如四面体(四个顶点给出四个三角形表面)之类经简化的目标(称为骨架)开始。一般,骨架与最终目标应该是同态的(具有相同的边缘连接性和表面连续性的特性)。四面体具有无结尾边缘(no terminating edge)的连续的单个表面。因此它与球体是同态的。
极简单的骨架只可以产生最终目标的极有限的组成部分。为了使复杂目标达到高度真实感,必须使用更复杂的初始骨架。为了扩展技术,已经使用顶点的位置校正。在分割算法的每一阶段,可以把通过分割表面上连接两个现有顶点的线而创建的每个新顶点移动(位移)到相对于由原始算法定义的它的位置的新位置上。位移与骨架的细节一起发送,以应用于在数据算法(分割)的特定阶段上新创建的特定顶点上。在算法应用的特定阶段上,使所选择的顶点位移所选择的量。使用该顶点的新的(经位移的)位置来执行后续的算法应用。在使用表面分割算法的特定阶段移动顶点,因此而影响所有后续新顶点的位置,这些后续新顶点位置是所选择顶点的位置的函数。由于只可以移动新创建的顶点(在创建它们的时刻或紧接在创建它们的时刻之后),所以在可以创建的不同形状,或得到特定形状所需要的信令的经济性方面仍受到限制。本发明探索而提供这些缺点方面的改进。
为了保持构成目标的各个点之间的关系的完整性,通常定义所选择顶点相对于多边形的位移,所述顶点是分配给所述多边形的,而不是在基于原点(origin)的笛卡尔坐标系统中的。使用与一个多边形或多个多边形相关联的平面来定义所选择顶点的法线方向。根据法线方向和两个正交的切线方向来定义位移。
通过英国专利申请第9926131.5号在1999年11月5日提出的相同专利申请“Image Enhancement”中,描述诸如上述的边缘子分割方法,其中新顶点的位置不必定在边缘的中心,但是取决于最终目标显示中要给予边缘和顶点的质量(可视的、不可视的、光滑的等等)。
在上述系统的情况下出现问题。为了创建表面特征,通常需要创建按连续细度等级(表面分割算法的连续应用)的大量位移。本发明探索而提供一种方法和装置,用于减少精细表面细节所需要的位移数。
对于三维图像创建存在两种普通的方法。第一种方法是解析法。得到实际目标的三维扫描。然后应用缩减算法(实质上与表面分割过程相反)来寻找可以用来重构目标的最简单的骨架。第二种方法是构造性的。以骨架为出发点,并对表面分割的产生阶段应用校正,以产生可接受的、接近所需要目标的一个目标。进行对骨架的修改和位移,直到达到可接受性。本发明探索而在第二种(构造性的)方法中提供改进和添加的实用性,虽然这也可以应用于解析法过程的结果。
即使是对于通过骨架分割和顶点位移方法重构目标所要求的经简化的数据的发送,发送也可能比所要求的和属于从不完善发送产生问题的发送较慢。为了克服这些问题,已经采用了各种编码技术。
一个问题是,如果截短消息,则会丢失重要的局部细节。为了克服这点,1996年,Amir Said和William A.Pearlman在IEEE的论文中提出“A New,Fastand Efficient Image Codec Based on Set Partitioning in HierarchicalTrees”(IEEE学报,视频技术的电路和系统6(3)243-250页,1996),提供在分层树中划分组的方法(SPHIT)。该论文涉及两维平面图像(图)。本申请中引用该论文作为参考。
在Said Pearlman方法中,通过“分层子带酉变换”把象素的坐标映射到相应于变换子带的系数金字塔;系数的数目与原始图像中象素的数目相同。然后在逐次发送方案中使用系数的阵列。
根据阵列的内容的二进制幅度对它们分等级。最高有效位(MSB)设置成1的所有系数排在第一等级上(此后按幅度减少而排序)。第二最高有效位设置成1但是最高有效位设置成0的所有系数排在接着的等级上,此后按幅度减少而排序。重复这个过程直到从最大幅度到最小幅度按次序把所有系数分成等级。对每位(从最高有效位到最低有效位(LSB))都设置成1,但是下一个最高有效位设置成0的系数进行计数,以给出每个二进制数字的位计数数目。继续如此进行,直到已经对最低有效位(LSB)分配它的位计数数目。在分等级的排序中附加每个系数的符号。
在发送中,首先把需要表达坐标的位(二进制数字)的最大数发送到解码器。然后,“分类传送”发送当前(在本情况中,最高有效位)位的位计数数、具有当前(在本情况中,最高有效位)位设置成1的系数所涉及的所有象素的坐标、以及所有系数的符号,使当前(在本情况中,最高有效位)位设置成1,按幅度递减次序分等级。
接着,按与发送象素坐标所使用的次序相同的次序,“精细传送”发送每个系数的当前(在本情况中,最高有效位)位,这些系数已经是本分类传送或以前分类传送中的主项。这样结束了“精细传送”。
此后,选择下一个最高有效位作为当前有效位,并执行“分类传送”,接着执行“精细传送”。继续这样进行直到已经对最低有效位(LSB)进行分类和精细化,或直到可以达到可接受的畸变程度(偏离所要求的图像),按任何一种情况先发生为准。
因为先发送最高有效系数,以及先发送它们的最高有效二进制数字,所以可以发送图画的近似图,并且如果是过早地终止发送的(如可能发生在话务繁忙的环境中),则遭受最小的降质(偏离所要求的图像)。较大的系数对图画的总的外貌有较大的影响。它们的最高有效位(MSB)具有全部最大的影响。通过首先发送它们,首先建立图画的主要结构。较小幅度的系数对图画的外貌具有较小的影响。它们也是和它们的较高有效位一起先发送的。因此,如果在任何阶段终止发送时,则已经发送了最高有效系数和它们的最高有效二进制数字,以及直到该阶段时的所有较小系数按幅度的下降排序较高有效位先发送的。总的结果是图画的一般结构是完整的,简单地缺少于已提供的细节的精细度,这将在继续的发送中提供。发送继续进行得越长,就把更多细节添加到系数中,并通过上述“分层子带酉变换”的逆过程的结果而添加到图画的细节中。发送越短,图画的细节变得越粗糙,但是仍是完整的图画。
Amir Said和William A.Pearlman还在同一篇文章中建议结合“分组划分分类算法”。在这种算法中,如果系数具有设置成1的第n位或更高位,则可以说成在n层上是有效的。如果系数没有在第n位或更高位设置成1,则可以说成在n层上是无效的。
分类算法把系数分割成经划分的子集。对于在每个子集中系数具有最大大小的象素,对它的系数进行测试,明白它在n层上是有效的还是无效的。
如果与子集相关联的最大系数是无效的,则所有在该子集中的象素具有无效的系数。
如果在子集中的最大系数在n层上是有效的,则与该子集相关联的其它系数中,没有一个,有一些或所有系数在n层上也是有效的。发送编码器和接收解码器根据普遍众知的规则把子集分割成较小的次子集,并对次子集中的每一个应用相同的测试。对次子集和后继子集继续进行测试和子分割过程直到已经识别所有单个元素(单个系数)子集在n层上具有一有效系数。对n的所有值执行该过程,从最高有效位(MSB)到最低有效位(LSB)。如此,把系数隐含地分类成具有幅度大于或等于2的n次幂的所有的类,其中在系数的幅度表示中,n是位的数目。有可能这样说,按照大小对系数进行分类。每个分类类别表示按2倍增加一个大小。如果系数大于类别最大值,则把它包括在类别中。如果系数小于类别最大值,则从该类别中略去。
所述方法还建议使用“空间定向树”。当已经发现与子集中的象素相关联的最大系数在n层上是有效的时,分裂该子集的过程是基于“双亲”系数和“支系”系数的概念的。在分割算法操作的每个阶段,每个现有系数(双亲)派生四个另外的系数(支系)(除了在最终阶段处之外)。使用所有支系和每个根象素的支系(后代子代的总数)来形成初始划分。如果发现所有后代子代的集是有效的,则把它划分成立即支系的子集、以及孙辈和超出孙辈的子集。如果发现孙辈和超出孙辈的子集是有效的,则把它划分成四个子集,每个子集包括原始根象素的每个立即支系的后代子代。如此,子集创建从根到嫩枝的最尖端“慢慢爬行”上树,在每个新层处保持相同的分割策略。使用如此分层的原因是SPIHT算法可以利用这样的事实,即,如果系数是非有效的,并且它的子代中也没有有效的,则可以跳过整棵树。
把有效的测试的结果存储在三个排序列表中。它们是无效集的列表(LIS)、无效象素的列表(LIP)以及有效象素的列表(LSP)。在LIS中,根据子集是否包括根象素的所有后代子代或它们是否只包括根象素的孙辈和超出孙辈而对子集进行区分。在分类传送期间,对在以前传送中为无效的LIP中的象素进行测试,如果发现它们是有效的,则把它们转移到LSP。相似地测试LIS中的子集。发现任何有效的,就从LIS取出和划分。使从划分得到的、具有一个以上的元素的新子集返回给LIS。根据从划分得到的单个元素子集是否有效而把它们添加到LIP或LSP中。LSP包括在精细传送中访问的顶点。本发明探索而以修改和改进的方式以及在三维图像的新领域中利用这些技术。
本发明还探索而提供代码压缩技术的新颖的应用,Witten、Neal和Clearly于1987年6月的the Communication of the ACM中的题为“ArithmeticCoding for Data Compression”的论文中揭示了这种技术,也引用该论文作为参考。
根据第一方面,本发明包括一种设备,所述设备用于发送顶点位移信息,供通过表面的子分割在再现三维表面中使用;所述设备包括根据表面的子分割过程中顶点的出现来定义顶点的坐标的装置,以及在发送位移的次要元素之前发送位移的较有效元素的装置。
本发明还提供一种设备,其特征在于把位移定义为二进制数字,其中较有效元素是有效性较大的二进制数字。
本发明还提供一种设备,包括按幅度降低的排序选择位移的装置;选择每个有效二进制数字的装置,所述有效二进制数字用于表示按有效性的降低排序的位移;按各个表示位移的幅度排序而发送每个顶点(所述顶点的位移具有等于所选择的有效二进制数字的最有效数字)的总数和坐标的装置;以及对于以前已经发现具有等于以前选择的最有效二进制数字的最有效数字的每个顶点,按各个位移的幅度降低的排序发送在位移表示中所选择的有效位的装置。
本发明还提供一种设备,它包括数据压缩器,算术编码数据压缩器为优先。
根据另一个方面,本发明提供表面子分割装置,其特征在于可以使任何顶点位移。
根据又一个方面,本发明提供为不同于两维表面的三维目标编码的SPHIT树的应用。
根据又一个方面,本发明包括与本发明的所有规定一起使用的接收和重构设备。
根据又一个方面,本发明包括与本发明的所有其它规定符合的一种方法。
通过连同所附的附图的下列说明,借助例子而进一步描述本发明,其中

图1A到1J是在本发明的较佳实施例中使用的网格分割过程的图示表示。
图2A到2D对现有技术位移方法与本发明提供的方法进行比较。
图3表示用于发送、传送或存储的网格数据的编码的第一阶段。
图4示出顶点位移意味着什么。
图5是流程图,示出本发明的全网格编码方法。
图6A到6F按示意和进一步说明的方式来示出在图5中提供的编码方法。
图7是一个环境的示意方框图,其中可以应用包括数据压缩和去压缩的本发明。
注意图1A到1J,图中示出适合于在本发明的较佳实施例中使用的循环边缘子分割程序中的各个阶段。概括地说,从图1A中示出的初始三角形骨架10开始,骨架10具有三个初始顶点12,示出边缘分割过程的渐进的阶段,包括图1C、1E、1G和1I的左边列实质上具有边缘分割和移动过程,而包括图1D、1F、1H和1J的右边列示出与左边列所示过程相似的过程,但是具有添加到位移中的附加随机噪声分量。图1B示出最终对象目标的直线附图,在这个实例中,是以岩石的形式。使顶点12从它们的创建位置位移而形成对象目标14的最终形状。
更详细地描述,转到图1A和1B,根据循环算法对初始边缘16进行子分割,以形成在经分割的初始边缘16D上的顶点18而创建图1B中示出的第一阶段形式。除了把一些随机噪声添加到第一阶段顶点18的位移之外,按相同的方式得到图1D中示出的第一阶段形式,以创建有噪声的第一阶段顶点18’。通过连接第一阶段顶点18和有噪声的第一阶段顶点18’而创建第一阶段边缘20’。
已经执行了一个子分割过程,第一阶段,再施加又一个子分割过程,第二阶段。在图1E和1F中示出这个过程的结果。把每个第一阶段边缘18和每个经分割的初始边缘16D再分裂为二,以形成第二阶段顶点22,它是根据循环算法定位的,以提供图1E中所示的形式。相似地,每个第一阶段边缘18’和每个经分割的初始边缘16D’再次分裂为二,以形成第二阶段顶点22’,它们从它们的通过循环算法的定义的创建初始点位移,通过附加随机噪声,以提供图1F中示出的形式。细节是太小了,以致无法用指示线和数字来正确地示出。
本发明特别感兴趣的是在图1F中示出的第一阶段移动的顶点18’A。虽然它的对应物是在图1E中示出的,在第二阶段中未位移,但是在图1D的情况中比较图1C,在图1D的第一阶段和图1F的第二阶段之间移动了第一阶段移动的顶点18A’。
在本发明中,实质上在分割过程的任何阶段上可以移动任何顶点。创建每个新顶点,以及使之根据现有顶点的位置而位移,所述现有顶点是在分割过程的以前阶段创建的或预先存在的。新创建的顶点完全可以位移或可以不位移。如果是要位移的,则可以在创建它的分别阶段使它位移,或可以在较晚的阶段使它位移。位移的时间完全取决于位移的大小。下面的说明可以使这一点变得清楚。通过未位移的新创建的顶点的位置确定取决于新创建的顶点的位置的后续顶点的位置,直到最终新创建的顶点位移。这里在本发明和使用多次分割来创建新的可位移的顶点的所有其它方法之间存在基本的差异。
子分割过程进一步通过一些阶段,以创建图1G和1I中的形式和图1H和1J中的形式。继续进行子分割过程直到线网形式中的细节已经达到可接受的程度。这完全是由要使用对象目标14的应用来决定的。低分辨率应用具有较少的阶段。高分辨率应用有许多阶段。
在使用三角多边形的本发明的实施例中示出本发明,因为这是多边形的最简单的形式。可以理解,可以把本发明应用于,使用任何形状的多边形,从老的顶点创建新的可位移的顶点的任何子分割过程。
注意图2A到2C,图中示出使用本新发明以及和现有技术方法进行比较而如何形成表面特征。使用三维骨架24来产生最终目标26。最终目标26具有第一尖峰28和第二尖峰30。根据现有技术,通过只移动新顶点而渐进地修改开始顶点32,以形成在图2D中示出的第一尖峰26的令人相当不满意的(无尖峰的)形状。现有技术采用新创建顶点的十五次位移来得到它的有几分不满意的形状。通过比较,通过在三维骨架24之后的两个阶段的分割移动的预先存在的顶点(根据本发明的)(不必定是预先存在的)的单个位移而形成第二尖峰30。这是在这个例子中仅需要的位移,以产生第二尖峰30的满意程度更高的形状。
注意图3,图3是方式的概念性示意图,本发明在该方式中准备用于发送的最终目标。
映射中间的和最终目标38上的每个顶点36,如到顶点映射42上的箭头40所示。通过特定最终顶点36是在分割的什么阶段上产生的来决定顶点映射42上的位置。例如,在原始骨架上的最终顶点36将具有对于第零阶段输入的一个位置中的输入。在所给出的例子中,在第一分割处创建的每个最终顶点38将具有对于第一阶段输入的顶点映射上的输入。在每个分割阶段中,对于在该阶段中预先存在的每个最终顶点36,创建四个新的最终顶点36。按设计者选择的、较佳的、预定的排序来识别在每个阶段上新创建的顶点。如此,创建了特定最终顶点36的识别“树”,根据它的“祖先”顶点,每个“子女”顶点成为在分割的下一个阶段中的“祖先”。在树上的位置确定在顶点映射42上的最终顶点36的位置。在骨架10、24中的每个原始顶点12创建它自己的树。原始顶点12也排列在顶点表格中。通过参照顶点表格42中的特定位置,有可能知道最终顶点36是从哪个原始顶点12得到的,以及在分割过程的什么阶段上出现最终顶点36。
顶点表格不是一个真实的实体,它只是一组排序的地址,每个地址识别一个特定的最终顶点36。不象Sphit树那样,标识了在三维最终目标38中的最终顶点,而不是两维图像中的独立的象素。使用顶点映射作为地址来识别对于位移表格44的相关联的最终顶点。位移表格44在适合于特定最终顶点36的位置中存储要给予该顶点36的位移。从而本发明的成功在于在三维最终目标38中创建了对于顶点的隐含的寻地方式。
注意图4,图中示出在本发明的较佳实施例中,位移意味着什么。从在位移之前发现所选择的顶点36的静止位置46处把所选择的顶点36位移到经位移的位置48。在所示的例子中,根据特定分割方法所使用的规则画出顶点36的法线50。法线的方向可以取决于周围多边形(在本情况中为三角形)所占据的平面。通过沿法线50的位移和沿两个正交切线方向52、54的位移一起来确定位移。在所示的例子中,使用许多二进制数字来表示位移的每个分量的大小。已经发现,最终目标38的感觉质量对于沿法线38的位移的敏感性要大大地大于对于沿切线方向52、54的位移的敏感性。因此,在这个例子中,分配12位来表示法线位移,而对于每个切线位移都只分配10位。这对于本发明是不重要的。本发明可用于具有任何位移的任何位数。本发明还可以与表示位移的其它系统一起使用,诸如,但是不限于,极坐标(角和半径)。
接着注意图5,图中示出当使用Said Pearlman方法中作为引言描述的简单的分类算法而准备和发送三维最终目标38的近似图时的本发明的理论活动的流程图。在实际应用中,将使用更有效的压缩算法,诸如,但是不限于,Said和Pearlman的分组划分方案。
从输入56,第一操作58,最终顶点36确定它们的生长树位置。第二操作60使位移与它们对应的最终顶点36配对。第三操作62把生长树位置分类到顶点映射42中,以及第四操作64构成位移表格44。现在已经准备好预备发送最终目标38的近似图的每一件事。
第五操作66首先发送在骨架14、24上的每个初始顶点12的绝对空间坐标。这是必需的,以致功能与发送装置的方式精确相信的接收装置可以重构最终目标38的近似图。
然后在第六操作68中按大小的降低排序对位移进行分类。这可以通过设计者的选择来确定。例如,可以通过法向位移的的降低大小对它们进行分类。另一方面,可以通过法向和切向分类的矢量和创建的绝对矢量长度来对它们进行分类。在极坐标系统中,可以通过半径的长度来对位移分类。本发明宁可,但是不坚持,对于最终目标38的最终显示具有最有效影响的位移的元素,按幅度的降低排序而分类。在任何情况中,在二进制数字阵列中产生一系列二进制数,其中具有设置成1的最高有效位的所有位移都都按降低的排序,具有设置成0的最高有效位但是下一个最高有效位设置成1的所有位移都按降低的排序,以及依次类推。
然后第七操作使各个最终顶点36与二进制数字阵列中对应的每个位移匹配。通过在位移表格44中的位移的已知地址可以完成该项。已经准备好所有一切,以开始发送位移数据。
第八操作72选择在二进制数字阵列中列出的位移的最高有效位。然后第九操作74对具有等于所选择的有效位(在这个情况中为最高有效位)的最高有效数字(在它们的表示中的二进制数字最高值)的位移的数进行计数。然后发送该数目。这表示最终顶点的数目,所述最终顶点具有所选择的有效位作为它们的最高有效数字。因此不需要对高类别中的每个最终顶点36发送“1”,由于“1”的数目是已知的。第十操作发送具有等于所选择的有效位的最高有效数字的每个最终顶点36的标识。这简单地是顶点映射42中的顶点的坐标,是位移的地址。
然后第十一操作78咨询顶点发送列表。这是与二进制数字阵列的排序相同排序的所有具有以前已经发现它们的最有效数字等于所选择的有效位的那些最终顶点36的一个列表。在这,选择最高有效位的第一传送中,当然,顶点发送列表是空的。如果在顶点发送列表中有输入(如将在后续传送中发生),则按它们在二进制数字阵列上出现的相同排序发送在顶点发送列表中列出的顶点36的所有位移的所选择的有效位。
然后第十二操作80把具有以前已经发现它们的最有效数字等于所选择的有效位的所有顶点按它们在二进制数字阵列上出现的相同排序添加到顶点发送列表中。如此,当所选择的最高有效位已经改变成在第十三操作82中的下一个有效性较低的位时,在下一个发送中也按二进制数字阵列的排序发送具有下一个有效性较低的位的一些顶点。
然后第一测试84检查是否程序达到并已在最低有效位上操作。如果已经达到,则程序转移到退出86,如果尚未达到,则控制传送回第九操作74。
程序保持循环直到已经发送所有最终顶点36的移位中的所有二进制数字。再一次,没有必要发送没有位移的那些最终顶点上的细节,因为已经从骨架10、24中的初始顶点12的数目和从初始骨架10、24开始进行的分割阶段的数目已知最终顶点36的总数。
为了提高有关图5的流程的清晰度,图6A到6D示出相同活动的示意表示。
提供位数寄存器88,用于捕获和发送位移数目并使它们的最高有效数字等于所选择的有效位(根据图5的第九操作74)。
二进制数字阵列90按大小减少的排序保存位移(根据图5的第六操作68)。示出实例的输入。1表示二进制1。0表示二进制0。X表示任何二进制数字,是表示个别位移的大小的部分二进制数。瞬时的反射,并且考虑下列说明,将示出必须把一些0和一些1安排在块中,如图所示。
顶点地址寄存器92存储对应于紧接在其下的位移的顶点36的地址。这是根据图5的第七操作70的。简单地,每个顶点36的地址是它出现在生长树上的点,并且通过图3的顶点映射42作为示例。
顶点发送列表94存储以前已经处理过的每个顶点36的标识。这是根据图5的第十一操作78和第十二操作80的,并且它的意义和使用将从下述说明而变成清楚。
为了清楚和简短起见,如在本例子中所示的二进制数字阵列90只具有从位5(最高有效位(MSB))开始,以及按降低的排序到位0(最低有效位(LSB))的6个有效位。要理解,在实际生活中,比6个有效位要多得多,并且输入要比所示的16个输入多许多。
现在注意图6B,图中示出当根据图5的第八操作72选择最高有效位(MSB,位5)时的发送序列。
从一个数据开始96,发送位数寄存器88的内容。二进制数字阵列的检查示出在位5的行中有两个1。因此在位数寄存器中的数是二进制2(0000010)。
已经发送了位数寄存器88中的内容,发送序列转移到顶点地址寄存器92,其中按在二进制数字阵列90中它们出现的位移的排序而发送在二进制数字阵列的位5行中具有为1的位移的两个顶点36的地址。
在这个阶段上,发送序列咨询顶点发送列表94了解是否具有任何输入。这相应于图5的第十一操作78。由于当前选择MSB(位5),所以在顶点发送列表94中没有输入,它是空的。没有进一步的数据发送,并且发送列表转移到数据结束98。
注意图6C,图中示出发送序列的第二阶段。
根据图5的第十二操作80,已经执行了MSB(位5)发送序列,已经把在位5行中具有1的两个顶点36添加到顶点发送列表中。根据图5的第十三操作82,已经选择位4(下一个有效性较小的位)。在位4行中有两个1,所以位数寄存器88的内容再次是二进制2(0000010)。发送序列首先发送位数寄存器88的内容,然后按它们出现在二进制数字阵列中的位移的排序发送在位4行中具有为1的位移以及在每个较高行中具有为0的位移(就是说,它们的最高有效位在位4行中)的顶点36的标识。在这个阶段上,发送序列咨询顶点发送列表94。有两个输入,对于位移具有位5行中最高有效位的顶点,每个顶点一个输入。因此,对于在顶点发送列表94中列出的两个顶点,发送序列按它们出现在二进制数字阵列92中的排序发送位4行数据位(X)。在这个阶段上,至今发送序列已经发送了在位5行中所有最高有效数字1、在位4行中所有最高有效1以及可能发送最高有效数字1的任何数据位(X)。
注意图6D,它示出当位3是所选择的有效数字时的发送序列。
根据图5的第十二操作80,已经把在位4行中具有为1的位移的两个顶点添加到顶点发送列表94中。因此顶点发送列表包括在位5行中和位4行中表示1的位移的顶点36。把顶点的位移出现在二进制数字阵列90中的顶点列出在序列中。还有,根据图5的第十三操作82,已经选择了下一个有效性较小的位,位3。
根据图5的第九操作74,可以明白在位3行中有四个1。因此位数寄存器88包括二进制4(000100)。发送序列发送位数寄存器88的内容,然后按顶点的位移出现在二进制数字阵列90中的顺序发送在位3行中具有1的四个顶点36的标识。
接着发送序列咨询顶点发送列表94,根据图5的第十一操作78。其中的四个输入是供在位5行或位4行中示出1的位移的顶点36的。因此对于在顶点发送列表94中的每个顶点36,发送序列按它们出现在二进制数字阵列90中的排序发送位3行数据位(X)。然后发送序列终止98位3行发送阶段。然后,到这个阶段,发送序列已经发送位5、位4和位3行上的所有最高有效数字1,以及出现在位4行或位3行上的任何数据位(X),并且是按它们出现在二进制数字阵列中的排序而发送的,以致通过它们的隐含排序的长处可以正确地重新装配它们。
注意图6E,图中示出具有位2作为所选择的有效位的发送序列。
根据图5的第十二操作80,已经把在二进制数字阵列90中的顶点位移的位3行中展现1的顶点36添加到顶点发送寄存器94中。根据图5的第十三操作82,下一个有效性较小的位,位2,已经变成所选择的有效位。
可以观察到,在位2行中有七个1。因此在位数寄存器中的数是二进制7(0000111)。根据图5的第九操作74,发送序列发送这个数。接着,如图5的第十操作76所示,发送序列按顶点位移出现在二进制数字阵列中的排序发送存储在顶点地址寄存器92中的顶点36的标识。接着,根据图5的第十一操作78,发送序列咨询顶点发送列表94。存在8个输入,在位5、位4或位3行中展现为1的位移的每个顶点一个输入。对于在顶点发送列表94中的顶点36,发送序列按它们出现在二进制数字阵列90中的排序发送位2行数据位(X)。然后位2行的发送序列终止98。因此,至此,发送序列已经发送在位5、位4、位3和位2行中所有的最高有效数字1,以及位4、位3和位2行中的所有数据位(X)。
注意图6F,图中示出在位1行中发送序列如何进行,其中,只是为了示例起见,不存在最高有效数字1。
根据第九操作74,发送序列对位1行中的1的数目进行计数。由于不存在1,所以位数寄存器88包括二进制0,即,0000000。发送这个。由于在位1行中没有具有最高有效数字的新顶点36,所以对于顶点地址寄存器不进行访问。而是,对于在顶点发送列表中的那些顶点36,发送序列直接转向二进制数字阵列90和发送位1行中的所有数据位(X)。这终止了发送序列的位1部分。对于位1,当选择位0时,在顶点发送列表中将没有输入。
对于位0执行操作,如同对于所有其它位那样。
注意图7,图中示出可以使用本发明的环境的示意图。
发送装置100包括网格发生器102,网格发生器产生三维最终目标14、38的线网表示。线网发生在它提供的信息中包括最终目标中的所有顶点36、所有骨架初始顶点12以及它们的绝对空间位置、以及从分割程序到再创建最终目标14、38产生的所有顶点的所有位移。网格发生器把它的信息馈送给发送编码器104,发送编码器的性能如上联系图3、4、5和6所述。
发送编码器把它的数据流发送到数据压缩器106。最好,数据压缩器是算术编码数据压缩器,如上所述,以及如在Whitten、Neal和Cleary的“Arithmetic Coding for Data Compression”,ACM通信,1987年6月,第30卷,第6期,520-540页,中所述,在本文件中引用该文作为参考。这种技术产生跟踪信息内容以对改变内容保持编码最小的不断改变的最小长度编码。使用相同方法的接收机可以自动地跟踪变化的发送代码以跟上发送。可以使用数据压缩的其它形式。
最后,把数据压缩器的输出发送到传输装置108。如果发送装置100是因特网的一部分,则传输装置108将连接到因特网。如果发送装置是用于移动电话的,则传输装置108将连接到移动电话网络。可以使用应用的其它领域,即需要把三维目标的线网表示发送给其它装置的任何应用领域。
接收装110包括接收机112,接收机接收来自传输装置108的信号,并对信号进行解调。把来自接收机112的信号传送到数据解压缩器114,解压缩器再现从发送编码器104发送的信号。把这些发送到网格再创建器116,它使用来自发送编码器的信号,再产生网格。把再产生的网格发送到图像控制器118,它根据来自发送装置100的进一步的指令修改再产生的网格,例如,在计算机监视器120上或移动电话上的屏幕122上或个人数字助理(PDA)上显示三维目标(通过摆动和移动骨架可以使三维目标摇摆和缩放)。使用本发明的另外领域是从诸如ROM、和PROM、磁带、硬盘和软磁盘、CD、DVD等小型存储器和数字存储媒体的图像再现。
网格发生器102使用特定的分割方法,它是为所述特定的分割方法而编程的。网格再创建器116使用一种程序,该程序在相同的分割方法上操作。在发送的开始处,发送装置100可以询问接收装置100,以明白所需要的程序是否可用。如果不可用,则发送装置100可以把所需要的程序发送到接收装置110,供在网格再创建器116中使用。另一方面,网格发生器可以由它自由地决定具有多个不同的分割方法。发送装置100可以检查而明白在接收装置110中可用哪个程序,并使用合适的分割方法。另一方面,再次,接收装置110可以通知发送装置使用哪个方法,并且发送装置可以使用它。
网格再创建器116继续进行网格再产生,即使某一些位移细节正在丢失。在发送中可能会有间歇,或干扰。另一方面,在某个应用中可能不需要超过最终目标14、18的某种程度的表面分辨率。因为首先发送具有最大位移的位移数据,渐进地减小进行到较小的位移,截断发送(或谨慎地缩短发送)的效果是简单地丢失较精细的细节。结果是,如果已经发送了全部的发送,则某些顶点36将已经接收到较小的位移,事实上没有接收到位移。其它顶点36没有接收定义它们的位移的所有二进制数字。然而,它们首先接收定义最高有效位的位移,以致只丢失了较小的调整。可以把效果比拟为透镜的聚焦。发送持续越长,图像的分辨率越佳。然而,即使聚焦不完善,图像仍是完整的,尽管可能缺少一些分辨率。
权利要求
1.一种设备,用于通过表面子分割发送在重构三维表面中使用的顶点位置和位移信息;所述设备包括一种装置,用于根据在表面子分割过程中顶点的各自的出现来定义顶点坐标;以及一种装置,用于在位移的所有有效性较少的元素之前发送位移的所有较有效元素。
2.如权利要求1所述的设备,其特征在于,定义所述位移作为二进制数,其中所述较有效元素是较大有效性的二进制数字。
3.如权利要求2所述的设备,其特征在于,包括一种装置,用于按幅度降低的排序选择所述位移;一种装置,用于按有效性降低的排序选择用于表示位移的每个有效二进制数字;一种装置,用于按各个位移的幅度排序来发送每个顶点的总数和坐标,所述顶点的位移具有等于所选择的二进制数字的最高有效数字;以及一种装置,用于对于以前已经发现的、具有等于以前选择的有效二进制数字的最高有数字的每个顶点,按各个位移的幅度降低的排序发送在位移表示中所选择的有效位。
4.如前面权利要求中任何一条所述的设备,其特征在于,所述发送的装置包括数据压缩装置。
5.如权利要求4所述的设备,其特征在于,所述数据压缩装置包括算术编码数据压缩的使用。
6.如前面权利要求中任何一条所述的设备,其特征在于,可以使任何顶点位移。
7.如前面权利要求中任何一条所述的设备,其特征在于,包括对SPHIT树编码的一种装置,所述SPHIT树的特征是通过应用于三维目标而定的。
8.如前面权利要求中任何一条所述的设备,其特征在于,包括对SPHIT树编码的一种装置,所述SPHIT树的特征是通过没有来自每个位移指示的符号而定的。
9.一种设备,用于接收和重构三维图像,所述设备包括一种装置,用于通过表面子分割接收在重构三维表面中使用的顶点位置和位移信息;一种装置,用于根据在表面子分割过程中顶点的各自的出现来接收对顶点坐标的定义;以及一种装置,用于在位移的所有有效性较少的元素之前接收位移的所有较有效元素。
10.如权利要求9所述的设备,其特征在于,所述位移作为二进制数被定义,其中所述较有效元素是较大有效性的二进制数字。
11.如权利要求10所述的设备,其特征在于,包括一种装置,用于按各个位移的幅度排序来接收每个顶点的总数和坐标,所述顶点的位移具有等于所选择的二进制数字的最高有效数字,其中已经选择所述位移,用于按幅度降低的排序发送,以及其中已经选择用于表示位移的每个有效二进制数字,用于按有效性降低的排序进行发送;以及一种装置,用于对于以前已经发现的、具有等于以前选择的有效二进制数字的最高有数字的每个顶点,按各个位移的幅度降低的排序接收在位移表示中所选择的有效位。
12.如权利要求9到11中任何一条所述的设备,其特征在于,所述接收的装置包括数据去压缩装置。
13.如权利要求12所述的设备,其特征在于,所述数据去压缩装置包括算术编码数据压缩的使用。
14.如权利要求9到13中任何一条所述的设备,其特征在于,可以任何顶点可被位移。
15.如权利要求9到14中任何一条所述的设备,其特征在于,包括用于对SPHIT树解码的一种装置,所述SPHIT树的特征是通过应用于三维目标而定的。
16.如权利要求9到15中任何一条所述的设备,其特征在于,包括对SPHIT树解码的一种装置,所述SPHIT树的特征是通过每个位移没有符号指示而定的。
17.一种方法,用于通过表面子分割发送在重构三维表面中使用的顶点位置和位移信息;所述方法包括下列步骤根据在表面子分割过程中顶点的各自的出现来定义顶点坐标;以及在位移的所有有效性较少的元素之前发送位移的所有较有效元素。
18.如权利要求17所述的方法,其特征在于,包括下列步骤定义所述位移作为二进制数,提供所述较有效元素是较大有效性的二进制数字。
19.如权利要求18所述的方法,其特征在于,包括下列步骤按幅度降低的排序选择所述位移;按有效性降低的排序选择用于表示位移的每个有效二进制数字;按各个位移的幅度排序来发送每个顶点的总数和坐标,所述顶点的位移具有等于所选择的二进制数字的最高有效数字;以及对于以前已经发现的、具有等于以前选择的有效二进制数字的最高有数字的每个顶点,按各个位移的幅度降低的排序发送在位移表示中所选择的有效位。
20.如权利要求17到20中任何一条所述的方法,其特征在于,包括对于所发送的数据应用数据压缩的步骤。
21.如权利要求20所述的方法,其特征在于,所述数据压缩的使用包括使用适合于与算术编码数据压缩一起使用的一种装置。
22.如权利要求17到21中任何一条所述的方法,其特征在于,可以使任何顶点位移。
23.如权利要求17到22中任何一条所述的方法,其特征在于,包括对SPHIT树编码,所述SPHIT树的特征是通过应用于三维目标而定的。
24.如权利要求17到23中任何一条所述的方法,其特征在于,包括对SPHIT树编码,所述SPHIT树的特征是通过每个位移没有符号指示而定的。
25.一种方法,用于接收和重构三维图像,所述方法包括下列步骤通过表面子分割接收在重构三维表面中使用的顶点位置和位移信息;根据在表面子分割过程中顶点的各自的出现来接收对顶点坐标的定义;以及在位移的所有有效性较少的元素之前接收位移的所有较有效元素。
26.如权利要求25所述的方法,其特征在于,包括下列步骤接收作为二进制数的所述位移的定义,以及提供所述较有效元素是较大有效性的二进制数字。
27.如权利要求26所述的方法,其特征在于,包括下列步骤按各个位移的幅度排序来接收每个顶点的总数和坐标,所述顶点的位移具有等于所选择的二进制数字的最高有效数字,其中已经选择所述位移,用于按幅度降低的排序发送,以及其中已经选择用于表示位移的每个有效二进制数字,用于按有效性降低的排序进行发送;以及对于以前已经发现的、具有等于以前选择的有效二进制数字的最高有数字的每个顶点,按各个位移的幅度降低的排序接收在位移表示中所选择的有效位。
28.如权利要求25到27中任何一条所述的方法,其特征在于,包括对于所接收的数据使用数据压缩的步骤。
29.如权利要求28所述的方法,其特征在于,所述数据压缩的使用包括使用可应用于算术编码数据压缩的装置。
30.如权利要求25到29中任何一条所述的方法,其特征在于,可以使任何顶点位移。
31.如权利要求25到30中任何一条所述的方法,其特征在于,包括对SPHIT树解码,所述SPHIT树的特征是通过应用于三维目标而定的。
32.如权利要求25到31中任何一条所述的方法,其特征在于,包括对SPHIT树解码,所述SPHIT树的特征是通过每个位移没有符号指示而定的。
全文摘要
揭示用于发送和接收三维图像数据(14)的一种方法和设备,其中把顶点(12、18)数据与顶点(18’A)的位移信息一起发送,用于使用编码子分割过程接收和重构三维目标。通过在较小幅度的顶点(12、18、18’A)的所有位移之前,发送、接收和应用较大幅度的顶点(12、18、18’A)的所有位移而定所使用的方法的特征,以致过程的过早终止导致表面(14)精确度的变化,但是图像具有完整性。发送和接收过程使用应用于三维目标而不是两维表面(为此而创建SPHIT树)的SPHIT树。SPHIT树还排除了表示顶点位移方向的符号位的需要。使用应用算术编码数据压缩方法的数据压缩和去压缩。
文档编号G06T17/40GK1526122SQ02813719
公开日2004年9月1日 申请日期2002年7月8日 优先权日2001年7月9日
发明者M·K·斯泰利亚罗斯, M K 斯泰利亚罗斯 申请人:苏坡斯坎伯集团公共有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1