CN106663328B - 多边形网格的mpeg/sc3dmc标准的扩展 - Google Patents
多边形网格的mpeg/sc3dmc标准的扩展 Download PDFInfo
- Publication number
- CN106663328B CN106663328B CN201580046511.XA CN201580046511A CN106663328B CN 106663328 B CN106663328 B CN 106663328B CN 201580046511 A CN201580046511 A CN 201580046511A CN 106663328 B CN106663328 B CN 106663328B
- Authority
- CN
- China
- Prior art keywords
- polygon
- polygons
- mesh
- sectors
- sector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
一种遍历多边形网格、基于所述遍历顺序将所述多边形网格分割成一组多边形扇区并基于所述遍历顺序将所述一组多边形扇区嵌合三角形的***、方法和计算机程序产品。这种所述多边形网格到三角形网格的转换使得能够使用所述SC3DMC标准来压缩和解压缩所述多边形网格。
Description
相关申请的交叉引用
本申请案请求2014年8月29日提交的美国专利申请案No.14/473,242的优先权。
技术领域
本公开案一般涉及图形压缩。更具体说来,本公开案针对多边形网格压缩。
背景
近年来越来越希望创建更逼真的3D计算机图形。为了创建更逼真的3D计算机图形,3D对象通常需要由更细粒多边形网格来表示。
多边形网格是限定对象形状的顶点、边和面的集合。网格所代表的顶点、边和面越多,对象看起来将越逼真。然而,顶点、边和面数量的增加需要更多的存储器。这在存储器或带宽受到限制的环境中可能是重大的问题。因此,希望能找到方法来压缩多边形网格。
概要
实施方案包括遍历多边形网格、基于遍历顺序将多边形网格分割成一组多边形扇区并基于遍历顺序将一组多边形扇区嵌合三角形的技术。这种机制允许使用可扩展复杂性3D网格压缩三角形扇区(SC3DMC-TFAN)标准来压缩和解压缩多边形网格。因此,机制允许最大限度地重用SC3DMC编码器和解码器。
本文所述的实施方案包括一种使用SC3DMC-TFAN标准来压缩和解压缩多边形网格的***、计算机可读介质和计算机实现方法。下文将参考附图详细描述实施方案的进一步的特点和优势,以及实施方案的结构和操作。应注意,实施方案并不限于本文所述的特定实施方案。此类实施方案仅是为了说明的目的而提出。相关领域一般技术人员将基于本文所含有的教导明白另外的实施方案。
附图简述
并入本文并形成本说明书的一部分的附图与描述一起示出了实施方案,进一步用于阐述实施方案的原理并且使得相关领域一般技术人员能够制造并使用所公开的实施方案。
图1示出根据实施方案压缩多边形网格的***的框图;
图2示出根据实施方案解压缩多边形网格的***的框图;
图3示出根据实施方案压缩多边形网格的示范性方法的流程图;
图4示出根据实施方案解压缩多边形网格的示范性方法的流程图;
图5描述了根据实施方案为达压缩目的遍历多边形网格顶点的示范性顺序;
图6描述了根据实施方案为达压缩目的将多边形分割成多边形扇区的实例;
图7描述了根据实施方案为达压缩目的将多边形扇区嵌合成三角形的实例;和
图8示出上面可实现实施方案的示范性计算机***的框图。
详细描述
在以下详细描述中,对“一个实施方案”、“实施方案”、“示范性实施方案”等的提及指示所述实施方案可包括特定的特征、结构或特性,但每个实施方案可能不一定必需包括所述特定的特征、结构或特性。此外,此类短语并不一定提及相同的实施方案。另外,当结合实施方案描述特定的特征、结构或特性时,建议在本领域技术人员的知识范围内结合其他实施方案影响此类特征、结构或特性而不管是否明确描述。
术语“实施方案”并不要求所有实施方案都包括所讨论的特征、优势或操作模式。可在不脱离实施方案的范围的情况下设计替代性实施方案,且可能并未详细描述或可能省略实施方案的已知元件以免模糊实施方案的相关细节。另外,本文使用的术语仅为了描述特定实施方案的目的,而并不意欲限制实施方案。例如,如本文所使用,单数形式“一(a)”、“一(an)”和“该(the)”意欲也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括(comprises/comprising/includes)”和/或“包括(including)”用于本文中时指定存在所述特征、整数、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其他的特征、整数、步骤、操作、元件、组件和/或其群组。
本公开案针对与压缩多边形网格的***和方法相关的实施方案。有若干网格压缩标准。一种最常见的是MPEG/SC3DMC(运动图像专家组/可扩展复杂性3D网格压缩)标准。这个标准限定了压缩三角形网格的各种算法。SC3DMC三角形扇区(TFAN)算法提供最佳的压缩比。然而,SC3DMC-TFAN算法不能用以压缩任意n边(或n阶)多边形网格。实情为,SC3DMCTFAN算法仅适用于三角形网格(即,n边多边形,其中n=3)。
三角形网格是多边形网格的特殊情况。具体来说,3D对象被表示为三角形的集合而不是多边形的集合。然而,虽然三角形网格是特殊类型的多边形网格,但是当建模3D对象时多边形网格仍然非常有用。四边形、五边形、六边形和更高阶多边形的存在使得3D建模器能够更加容易和准确地建模3D对象。
鉴于上述情况,需要可使用SC3DMC-TFAN标准来压缩和解压缩多边形网格的***和方法。期望地,此类***和方法将允许使用SC3DMC-TFAN标准的现有实现。
图1描述了使用SC3DMC-TFAN标准来压缩多边形网格的***的示范性功能型框图的框图100。框图100包括各种元件,如预处理模块120、SC3DMC编码器160、熵编码器170和MUX 180。这些元件可在硬件或软件中实现。
预处理模块120接收多边形网格110。预处理模块120嵌合多边形网格110。通过嵌合多边形网格110,多边形网格110可使用SC3DMC-TFAN标准来压缩。这种嵌合以特定方式进行,并生成三角形网格130、一组三角形扇区140和序列150。
三角形网格130是将多边形网格110表示为三角形集合。换句话说,多边形网格110中的每一个多边形被分割成一个或多个三角形。
一组三角形扇区140是将三角形网格130表示为一组三角形扇区。三角形扇区是3D计算机图形中节省存储空间的基元。具体来说,三角形扇区描述了一组共享一个中心顶点的连接三角形。三角形扇区节省存储空间,因为如果扇区中三角形的数量是N,那么描述三角形扇区所需的顶点的数量是N+2。这比起单独描述三角形所需的3*N顶点是改良。当压缩三角形网格130时,使用一组三角形扇区140来指导SC3DMC编码器160。
序列150是一连串的数字,且每个数字代表组成多边形网格110中每个多边形的三角形的数量。传输序列150使得能够从三角形网格130重建多边形网格110。
SC3DMC编码器160接收三角形网格130和一组三角形扇区140。SC3DMC编码器160根据SC3DMC-TFAN标准来生成三角形网格130的压缩版本。SC3DMC编码器160设计以压缩三角形网格。因此,由于SC3DMC编码器160从预处理模块120接收三角形网格130和一组三角形扇区140,所以SC3DMC编码器160可压缩多边形网格110。
熵编码器170接收并压缩序列150。如本领域技术人员应理解,可使用各种压缩算法。例如,序列150可基于序列中的统计相关性来压缩。
MUX 180从S3CDMC编码器160接收三角形网格130的压缩版本。另外,MUX 180从熵编码器170接收序列150的压缩版本。MUX 180将两条信息多工成压缩流190。
图2描述了解压缩压缩流210的***的示范性功能型框图的框图200。压缩流210代表多边形网格110和序列150的压缩版本。框图200包括各种元件,如De-Mux 220、SC3DMC解码器230、熵解码器240和后处理模块270。这些元件可在硬件或软件中实现。
De-Mux 220接收压缩流210。De-MUX 220将压缩流210分工成三角形网格130的压缩版本。三角形网格130的压缩版本被发送到SC3DMC解码器230。De-MUX 220也将压缩流210分工成序列150的压缩版本。序列150的压缩版本被发送到熵解码器240。
SC3DMC解码器230接收三角形网格130的压缩版本并生成三角形网格250。三角形网格250与三角形网格130相同。类似地,熵解码器240接收序列150的压缩版本并生成序列260。序列260与序列150相同。
后处理模块270基于序列260将来自三角形网格250的三角形合并成多边形。具体来说,后处理模块270根据预处理模块120指定的遍历顺序遍历三角形网格250中的顶点。在每个阶段,附带(incident)到当前顶点的所有三角形都以其解码顺序排序。接下来,从序列260读取组成下一个多边形的三角形的数量。然后将对应数量的三角形合并成单个多边形。重复操作,直到访问附带到当前顶点的所有三角形。
图3描述了示出根据实施方案压缩多边形网格的方法300的框图。如上文提到且下文更详细描述,方法300可实现在软件或硬件中。为了更好地理解图3示出的操作,参考图5示出的示范性多边形网格500、图6示出的被分割成多边形扇区的多边形网格600和图7示出的多边形网格700的多边形扇区的嵌合。
参考图3,方法300始于步骤310,其中预处理模块120接收多边形网格。多边形网格是限定3D计算机图形中多面体对象形状的顶点、边和面的集合。例如,图5示出由七个多边形(即P1到P7)组成的多边形网格500。多边形网格中的每个多边形由一组顶点限定,且每个顶点具有原始索引。例如,图5中的多边形P1由索引为v0、v7、v6、v4、v5和v1的顶点限定。
在步骤320,预处理模块120遍历多边形网格的顶点。在优选实施方案中,预处理模块120执行顶点的邻近逐个(neighbor-to-nei ghbor)确定性的遍历。基本想法是以唯一的顺序遍历顶点,以将多边形网格分割成一组多边形扇区。
多边形扇区是3D计算机图形中相比个别表示对应一组多边形而言降低存储空间的基元。多边形扇区是三角形扇区的一般情况,并限定共享一个中心顶点的一组连接的多边形。例如,图5示出具有中心顶点v0的多边形扇区,包括多边形P1、P2、P3和P4。
多边形扇区可由其顶点的遍历顺序限定。具体来说,多边形扇区可被限定为从其中心顶点开始的顶点的有序序列。例如,图5示出具有中心顶点v0的多边形扇区,包括多边形P1、P2、P3和P4。这个多边形扇区可由顶点v0、v7、v6、v4、v5、v1、v0、v1、v3、v2、v0、v2、v13、v12、v0、v12、v8、v7和v0的有序序列限定。顶点的这个有序序列限定多边形扇区。
多边形扇区具有若干特性。第一,多边形扇区的所有多边形共享中心顶点。中心顶点是多边形扇区所谓的中心。第二,多边形扇区中每两个连续多边形共享公共边,在这种意义上来说它们是邻居。例如,图6中多边形网格600的多边形P1和P2共享公共边,即(v0,v1)。第三,邻近多边形具有相同的定向。具体来说,如果沿相反方向遍历多边形扇区的两个邻近多边形的公共边,那么两个邻近多边形具有相同的定向。例如,基于以上遍历顺序,沿相反方向遍历多边形P1和P2的公共边(v0,v1)。
为了根据步骤320将多边形网格分割成一组多边形扇区,预处理模块120限定多边形网格的顶点的唯一遍历顺序。如所提及,在优选实施方案中,预处理模块120执行多边形网格的顶点的邻近逐个确定性的遍历。基本想法是基于邻近逐个确定性的遍历来重新标记多边形网格的每个顶点索引。
在优选实施方案中,预处理模块120执行以下邻近逐个确定性的遍历。一开始,多边形网格中的整组顶点被认为是未访问的。然后选择多边形网格的任意顶点。所选顶点优选存储在先进先出(FIFO)数据结构(例如F)中。在每个阶段,然后从F提取顶点并基于其遍历顺序来重新标记。
对于每个提取的顶点,预处理模块120确定未被考虑到的一组附带多边形。这组附带多边形然后根据步骤330被分割成一组多边形扇区。每个多边形扇区的顶点随后被遍历、被***F并被标注为访问过。此外,顶点被根据其遍历顺序重新标记。当F变空且多边形网格中的所有顶点已被标注为访问过时,进程停止。
在优选实施方案中,使用计数器来基于顶点的遍历顺序重新标记顶点。具体来说,计数器被初始化为零,且每次从F提取新的、未访问的顶点时递增。因此,计数器的值限定多边形网格中顶点的遍历顺序。例如,从F提取的第j个顶点将具有等于j的遍历顺序。
可考虑若干不同的策略来将一组附带多边形分割成一组多边形扇区。在优选实施方案中,使用迭代方法。下文在步骤330中讨论这个优选实施方案。本领域一般技术人员将理解可使用其它方法。
在步骤330,预处理模块120将多边形网格分割成一组多边形扇区。换句话说,对于步骤320中每个提取的顶点,附带到提取顶点的一组多边形被分割成一组多边形扇区。
具体来说,考虑从F提取的第j个顶点。这是第j个被遍历的顶点,表示为v’j。在每个迭代n,创建从附带到v’j的多边形P1(j)开始的多边形扇区PF(n)(j),其中P1(j)具有最少数量的邻近多边形。PF(n)(j)中P1(j)的邻近多边形是与P1(j)共享边的多边形,是未访问的,且具有与P1(j)相同的定向。P1(j)然后被添加到多边形扇区PF(n)(j)并被标注为访问过。
然后重复此过程。例如,随机选择未访问的、邻近P1(j)并具有与P1(j)相同的定向的v’j的附带多边形。这个附带多边形然后被添加到多边形扇区PF(n)(j)并被标注为访问过。
每次将附带多边形添加到多边形PF(n)(j)时,其顶点就被添加到F。这些顶点被基于其遍历顺序提取、遍历、重新标记(如果未访问),并被标注为访问过。在优选实施方案中,按顺时针方式遍历多边形的顶点。另外,预处理模块120确定之前未被访问过的每个提取顶点的一组附带多边形。这组附带多边形中的顶点也被添加到F。
过程继续,直到无法选择未访问的相同定向的邻近多边形。这种情况发生时,必须创建新的多边形扇区。预处理模块120创建从下一个提取顶点v’k开始的具有尚未被考虑的附带多边形的新的多边形扇区。在识别提取的顶点v’k的附带多边形P1(k)之后,P1(k)被添加到多边形扇区PF(n)(k)并被标注为访问过。另外,与P1(k)相关联的顶点被添加到F。
为了更好地理解上述操作,参考图5中的多边形网格500描述步骤320和330。如上文所提及,图5示出由七个多边形(即P1到P7)组成的多边形网格500。多边形网格500由一组顶点(即v1到v13)限定。然而,这些顶点的索引可能并不限定多边形的遍历顺序,更不用说一组多边形扇区。例如,多边形P2被顶点v0、v1、v3和v2顺时针限定。然而,这些索引并不限定P2的遍历顺序。因此,多边形网格500的顶点并不需要重新标记。
在步骤320,任意选择顶点v0并重新标记为v’0。这是因为v0是被遍历的第一个顶点。多边形P1、P2、P3和P4被附带到顶点v’0。因此,这些附带多边形被根据步骤330分割成一组多边形扇区。
在步骤330,创建从附带到v’0的多边形P1开始的多边形扇区0。P1被添加到多边形扇区0。另外,P1的顶点被添加到F。当从F提取来自P1的每个顶点时,基于其遍历顺序来重新标记每个顶点。在优选实施方案中,按顺时针方式遍历P1的顶点。
另外,预处理模块120确定每个提取顶点的新的附带多边形。例如,顶点v7被从F提取,重新标记为v’1,v7为遍历的第二个顶点,并被标注为访问过。注意,v’1具有两个附带多边形,即P1和P4;由于已经相对于v’0考虑了这些多边形,所以其相关联顶点不被添加到F。遍历继续,其中顶点v6、v4、v5和v1分别被重新标记为v’2、v’3、v’4和v’5。多边形P1然后被标注为访问过。在遍历P1之后,附带多边形P2被考虑为包括在多边形扇区0中。因为P2满足包括在多边形扇区中的特性,所以P2被添加到多边形扇区0。具体来说,P1和P2共享中心顶点,即v0。另外,P2是P1的邻近多边形,因为它们共享边,即(v0,v1)。最后,P2具有与P1相同的定向,因为沿相反方向遍历它们的公共边(v0,v1)。鉴于上述情况,且因为P2是未访问的,所以P2被添加到多边形扇区0并被标注为访问过。
P2的顶点然后被添加到F且随后被遍历。由于它们是从F提取,所以它们被基于其遍历顺序重新标记。然而,因为顶点v0和v1已被访问过,所以它们未被重新标记。换句话说,只有未访问的顶点才被重新标记。因此,在P2的情况下,v0和v1保留其重新标记索引v’0和v’5。另一方面,因为v3和v2尚未被访问过,所以它们分别被重新标记v’6和v’7。因此,P2的顶点被重新标记为v’0、v’5、v’6和v’7。
记住,以上过程继续,直到无法获得具有未访问的相同定向的邻近多边形的多边形。当到达这一点时,必须创建新的多边形扇区。例如,多边形P3是P2的邻近多边形,是未访问的,且具有与P2相同的定向。因此,多边形P3被添加到多边形扇区0并被标注为访问过。然而,在将多边形P4添加到多边形扇区0之后,就不再有具有相同的定向并未访问的P4的邻近多边形。事实上,已创建多边形P1、P2、P3和P4的完整的扇区。因此,必须创建新的多边形扇区。
创建从v13开始的新的多边形扇区1。记住,由于遍历了每个顶点,所以每个顶点都被添加到F。另外记住,由于每个顶点都是从F提取,所以考虑到提取顶点的一组附带多边形。这些附带多边形的顶点然后被遍历并被***到F中。然而,只考虑新的附带多边形。因此,当提取顶点v7时,并不考虑P1或是P4,因为它们已经被考虑作为v0的附带多边形。
另一方面,当提取v13时,多边形P5并不是附带到v0的多边形的部分。因此,它的对应顶点被添加到F以用于提取。类似地,当提取v12时,P6和P7是尚未被考虑的附带多边形,且其顶点被添加到F。
如上文所述,当F中没有更多顶点时,步骤320和330完成。图5描述了顶点的最终遍历顺序,且图6描述了一组多边形扇区。具体来说,图6中的多边形网格600包括三个多边形扇区,即多边形扇区0、多边形扇区1和多边形扇区2。多边形扇区0包含多边形P1到P4。多边形扇区1包含多边形P5。多边形扇区2包含多边形P6和P7。
虽然图5中的多边形网格500已被分割成具有顶点的唯一遍历顺序的一组多边形扇区,但是多边形网格500仍不适于由SC3DMC编码器160来进行压缩。这是因为多边形网格500已被分割成多边形扇区,且仍由多边形而非三角形组成。因此,多边形网格500的一组多边形扇区必须被嵌合三角形。
在步骤340,步骤330中生成的每个多边形扇区由预处理模块120基于顶点的遍历顺序嵌合一个或多个三角形。这确保了根据SC3DMC-TFAN算法压缩三角形网格的SC3DMC编码器160可压缩多边形网格500。
基本想法是引入每个多边形扇区合适的额外边。具体来说,对于多边形扇区中不是三角形的每个多边形来说,预处理模块120在多边形扇区的中心顶点和多边形中具有最低遍历顺序的顶点之间引入额外边。这使得多边形被完全嵌合三角形。这个引入额外边的过程继续,直到整个多边形扇区退化成三角形扇区。然后对于后续多边形扇区重复这个过程。
预处理模块120以多边形相关联顶点被遍历的顺序来嵌合多边形。换句话说,包括顶点v’0和v’1的多边形将是第一个嵌合的多边形。另外,在每个多边形被嵌合之后,组成多边形的三角形的数量被存储在存储器中以用于解压缩的目的。换句话说,预处理模块120生成序列,且序列中的每个数字代表对应多边形中三角形的数量。因此,序列3、5、2将指示基于遍历顺序多边形网格中第一多边形包含三个三角形,第二多边形包含五个三角形,而最后一多边形包含两个三角形。这个生成的序列使得所得三角形网格能够被重建成原始多边形网格。
举例来说,图7描述了包含多边形P1到P4的多边形扇区0。对于多边形P1,额外边被从顶点v’0引入到对面顶点v’2、v’3和v’4。这使得P1完全由三角形组成,具体来说由四个三角形组成。然后分别对于多边形P2、P3和P4重复嵌合过程。因此,多边形扇区0变成具有中心顶点v0、由十个三角形组成的三角形扇区。然后对于多边形扇区1和多边形扇区2重复这个过程。
多边形扇区1已仅由三角形组成。因此,不执行嵌合。然而,多边形扇区2未被嵌合。具体来说,多边形扇区2包含多边形P6和P7。多边形P6是三角形但多边形P7不是三角形。因此,预处理模块120在顶点v’9和v’13之间引入边。这使得P7嵌合两个三角形。基于图7,生成的描述每多边形三角形数量的序列为{4,2,2,2,1,1,2}。
在步骤350,输出压缩流。压缩流包含两条信息:在步骤340生成的压缩三角形网格,和代表每多边形三角形数量的压缩序列。
图4描述了示出根据实施方案解压缩多边形网格的方法400的框图。如下文更详细描述,方法400可在软件或硬件中实现。
参考图4,方法400始于步骤410,其中de-mux 220接收压缩流。压缩流包含由SC3DMC编码器160压缩的代表多边形网格的三角形网格。另外,压缩流包含由熵编码器170压缩的代表多边形网格中每多边形三角形数量的序列。
在步骤420,de-mux 220将压缩流分工成其组成部分。SC3DMC解码器230将压缩三角形网格解码成三角形网格250。熵解码器240将代表每多边形三角形数量的压缩序列解码成序列260。这两条信息都被发送到后处理模块270以重建原始多边形网格。
在步骤430,后处理模块270根据预处理模块120指定的遍历顺序遍历三角形网格250的顶点。具体来说,后处理模块270按顶点重新标记的索引的顺序来遍历顶点。
后处理模块270又考虑每个顶点。在每个步骤,附带到当前顶点的所有三角形都按照其解码顺序排序。换句话说,附带到当前顶点的三角形基于其对应的重新标记的顶点排序。例如,在图7,顶点v’0是第一考虑的顶点。V’0具有十个附带三角形。由顶点v’0、v’1和v’2限定的三角形是按照解码顺序的第一附带三角形。类似地,由顶点v’0、v’2和v’3限定的三角形是按照解码顺序的第二附带三角形。在将识别当前顶点的附带三角形之后,后处理模块270执行步骤440。
在步骤440,附带三角形被合并成一个或多个多边形。具体来说,后处理模块270读取序列260中的下一个数字N。后处理模块270然后将接下来的N个附带三角形合并成单个多边形。这N个附带三角形然后被标注为访问过。然后重复这个操作,直到附带到当前顶点的所有三角形都被访问。
最后,在步骤450,输出所得多边形网格。所得多边形网格与如上文所述预处理模块120处理的多边形网格相同。
本文提供的实施方案或其部分可在硬件、固件、软件和/或其组合中实现。
本文提供的实施方案适用于两个或多个装置之间或一个装置的子组件内的任何通信***。本文所述的代表性功能可在硬件、软件或其某种组合中实现。例如,代表性功能可使用计算机处理器、计算机逻辑、专用集成电路(ASIC)、数字信号处理器等来实现,如本领域技术人员基于本文给定的讨论将理解。因此,执行本文所述的功能的任何处理器都在本文提供的实施方案的范围和精神内。
下文描述了可用以实现本文提供的本公开的实施方案的通用计算机***。本公开案可在硬件中或作为软件和硬件的组合实现。因此,本公开可在计算机***或其它处理***的环境中实现。图8中示出此类计算机***800的实例。计算机***800包括一个或多个处理器,如处理器804。处理器804可为专用或通用数字信号处理器。处理器804连接到通信基础设施802(例如,总线或网络)。根据此示范性计算机***描述了各种软件实现。在阅读本说明书之后,相关领域技术人员将变得明白如何使用其它计算机***和/或计算机体系结构来实现本公开。
计算机***800还包括主存储器806(例如,随机存取存储器(RAM)),且还可包括辅存储器808。辅存储器808可包括例如硬盘驱动器810和/或可移动存储驱动器812中一个或多个,代表软盘驱动器、磁带驱动器、光盘驱动器等。可移动存储驱动器812用已知方式从可移动存储单元816读取和/或写入可移动存储单元816。可移动存储单元816代表由可移动存储驱动器812读取并写入的软盘、磁带、光盘等。相关领域技术人员将理解,可移动存储单元816包括其中存储计算机软件和/或数据的计算机可用存储介质。
在替代实现中,辅存储器808可包括允许计算机程序或其它指令加载到计算机***800的其它类似构件。此类构件可包括例如可移动存储单元818和接口814。此类构件的实例可包括程序墨盒和墨盒接口(如视频游戏装置中可见)、可移动存储器芯片(如EPROM或PROM)和相关联套接字、拇指驱动器和USB端口和允许软件和数据从可移动存储单元818传输到计算机***800的另一可移动存储单元818和接口814。
计算机***800还可包括通信接口820。通信接口820允许软件和数据在计算机***800和外部装置之间传输。通信接口820的实例可包括调制解调器、网络接口(如以太网卡)、通信端口、PCMCIA插槽和卡等。通过通信接口820传输的软件和数据呈可为能够由通信接口820接收的电子、电磁、光学或其它信号的信号的形式。这些信号被通过通信路径822提供到通信接口820。通信路径822承载信号,且可使用电线或电缆、光纤、电话线路、手机链接、RF链接和其他通信信道实现。
如本文所使用,术语“计算机程序介质”和“计算机可读介质”用以通常代表有形存储介质,如可移动存储单元816和818或安装在硬盘驱动器810中的硬盘。这些计算机程序产品是向计算机***300提供软件的构件。
计算机程序(也称为计算机控制逻辑)存储在主存储器806和/或辅存储器808中。计算机程序也可通过通信接口820接收。此类计算机程序当被执行时使得计算机***800能够实现本文所述的本公开案。特定来说,计算机程序当被执行时使得处理器304能够实现本公开案的过程,如本文所述的任何方法。因此,此类计算机程序代表计算机***800的控制器。在使用软件来实现本公开的情况下,软件可被存储在计算机程序产品中且使用可移动存储驱动器812、接口814或通信接口820加载到计算机***800。
在另一实施方案中,本公开的特征使用例如硬件组件来主要在硬件中实现,所述硬件组件如专用集成电路(ASIC)和门阵列。相关领域技术人员也将明白硬件状态机实现以执行本文所述的功能。
概要和摘要部分可阐述一个或多个而非所有由发明者所考虑的示范性实施方案,且因此,不欲以任何方式来限制实施方案和所附权利要求书。
上文借助于示出指定功能和其关系的实现的功能性构件块描述了本文的实施方案。本文已任意限定了这些功能性构件块的范围以便于描述。可限制替代性范围,只要适当执行指定功能和其关系即可。
具体实施方案的以上描述将充分地揭露实施方案的一般性质,以至于人们可在没有不恰当实验且不背离实施方案的一般概念的情况下,通过应用本领域技术中的知识来容易修改和/或改变此类具体实施方案的各种应用。因此,基于本文提供的教导和指导,此类改变和修改意欲在所公开的实施方案的等效物的意义和范围内。应理解,本文的短语或术语是为了描述而非限制的目的,使得本领域技术人员鉴于教导和指导能够理解本说明书的术语或短语。
Claims (24)
1.一种多边形网格压缩***,其包括:
处理器,所述处理器被配置以执行包括以下的操作:
以遍历顺序遍历多边形网格中多个多边形的顶点,所述多个多边形包括多个非三角形多边形;
以所述遍历顺序将包括多个非三角形多边形的所述多边形网格分割成一组有序的多边形扇区,所述多边形扇区中的至少一个多边形扇区具有多个多边形,每个多边形扇区由所述多边形扇区中的一个或多个多边形的对应顶点以所述遍历顺序来限定,并且对于具有多个多边形的所述至少一个多边形扇区来说,所述遍历顺序从所述至少一个多边形扇区中的所述多个多边形的公共顶点开始;以及
通过以所述遍历顺序从所述公共顶点到每个非三角形多边形的对应顶点将所述一组有序的多边形扇区中的每个非三角形多边形嵌合成三角形来将包括多个非三角形多边形的所述多边形网格变换成三角形网格,并且以所述遍历顺序生成一组有序的三角形扇区;和
编码器,所述编码器被配置以接收所述三角形网格和所述一组有序的三角形扇区并且使用所述三角形网格和所述一组有序的三角形扇区来压缩所述多边形网格。
2.如权利要求1所述的***,其中所述遍历包括:
遍历所述多边形网格中附带到顶点的多边形。
3.如权利要求1所述的***,其中所述分割包括:
将附带多边形添加到所述一组多边形扇区中的多边形扇区,其中所述顶点是所述多边形扇区的中心顶点,所述附带多边形是未访问的,且所述附带多边形具有与所述多边形扇区中邻近多边形的定向相同的定向,或者所述附带多边形在所述多边形扇区中没有邻近多边形。
4.如权利要求1所述的***,其中所述嵌合包括:
对于所述至少一个多边形扇区中的至少两个非三角形多边形,在所述至少两个非三角形多边形的公共顶点与所述至少两个非三角形多边形的对应一个非三角形多边形的其他顶点之间以所述其他顶点的遍历顺序***一个或多个边。
5.如权利要求1所述的***,其中所述处理器还被配置以执行包括以下的操作:
基于所述嵌合来向所述编码器输出所述三角形网格。
6.如权利要求1所述的***,其中所述处理器还被配置以执行包括以下的操作:
基于所述嵌合来输出所述一组有序的三角形扇区。
7.如权利要求1所述的***,其中所述处理器还被配置以执行包括以下的操作:
以所述遍历顺序,生成值序列,每个值对应于所述多个多边形中每个多边形的三角形的数量;
输出所述一组多边形扇区中的多边形扇区中每个多边形中三角形的数量。
8.如权利要求7所述的***,其中所述编码器包括:
第一编码器,所述第一编码器被配置以接收所述三角形网格和所述一组有序的三角形扇区并且使用所述三角形网格和所述一组三角形扇区来压缩所述多边形网格;和
熵编码器,所述熵编码器被配置以接收和压缩所述值序列。
9.一种压缩多边形网格的方法,其包括:
以遍历顺序遍历多边形网格中多个多边形的顶点,所述多个多边形包括多个非三角形多边形;
以所述遍历顺序将包括多个非三角形多边形的所述多边形网格分割成一组有序的多边形扇区,所述多边形扇区中的至少一个多边形扇区具有多个多边形,每个多边形扇区由所述多边形扇区中的一个或多个多边形的对应顶点以所述遍历顺序来限定,并且对于具有多个多边形的所述至少一个多边形扇区来说,所述遍历顺序从所述至少一个多边形扇区中的所述多个多边形的公共顶点开始;以及
通过以所述遍历顺序从所述公共顶点到每个非三角形多边形的对应顶点将所述一组有序的多边形扇区中的每个非三角形多边形嵌合成三角形来将包括多个非三角形多边形的所述多边形网格变换成三角形网格,并且以所述遍历顺序生成一组有序的三角形扇区;和
使用所述三角形网格和所述一组有序的三角形扇区来压缩所述多边形网格。
10.如权利要求9所述的方法,其中所述遍历包括:
遍历所述多边形网格中附带到顶点的多边形。
11.如权利要求9所述的方法,其中所述分割包括:
将附带多边形添加到所述一组多边形扇区中的多边形扇区,其中所述顶点是所述多边形扇区的中心顶点,所述附带多边形是未访问的,且所述附带多边形具有与所述多边形扇区中邻近多边形的定向相同的定向,或者所述附带多边形在所述多边形扇区中没有邻近多边形。
12.如权利要求9所述的方法,其中所述嵌合包括:
对于所述至少一个多边形扇区中的至少两个非三角形多边形,在所述至少两个非三角形多边形的公共顶点与所述至少两个非三角形多边形的对应一个非三角形多边形的其他顶点之间以所述其他顶点的遍历顺序***一个或多个边。
13.如权利要求9所述的方法,其还包括:
基于所述嵌合来输出所述三角形网格。
14.如权利要求9所述的方法,其还包括:
基于所述嵌合来输出所述一组有序的三角形扇区。
15.如权利要求9所述的方法,其还包括:
以所述遍历顺序,生成值序列,每个值对应于所述多个多边形中每个多边形的三角形的数量;
将所述一组多边形扇区中的多边形扇区中每个多边形中三角形的数量输出。
16.如权利要求15所述的方法,其中所述压缩还包括:
使用所述三角形网格和所述一组三角形扇区来压缩所述多边形网格;和
压缩所述值序列。
17.一种计算机可读存储装置,其上存储有计算机可执行指令,所述计算机可执行指令由计算装置执行使得所述计算装置执行包括以下的操作:
以遍历顺序遍历多边形网格中多个多边形的顶点,所述多个多边形包括多个非三角形多边形;
以所述遍历顺序将包括多个非三角形多边形的所述多边形网格分割成一组有序的多边形扇区,所述多边形扇区中的至少一个多边形扇区具有多个多边形,每个多边形扇区由所述多边形扇区中的一个或多个多边形的对应顶点以所述遍历顺序来限定,并且对于具有多个多边形的所述至少一个多边形扇区来说,所述遍历顺序从所述至少一个多边形扇区中的所述多个多边形的公共顶点开始;以及
通过以所述遍历顺序从所述公共顶点到每个非三角形多边形的对应顶点将所述一组有序的多边形扇区中的每个非三角形多边形嵌合成三角形来将包括多个非三角形多边形的所述多边形网格变换成三角形网格,并且以所述遍历顺序生成一组有序的三角形扇区;和
使用所述三角形网格和所述一组有序的三角形扇区来压缩所述多边形网格。
18.如权利要求17所述的计算机可读存储装置,其中所述遍历包括:
遍历所述多边形网格中附带到顶点的多边形。
19.如权利要求17所述的计算机可读存储装置,其中所述分割包括:
将附带多边形添加到所述一组多边形扇区中的多边形扇区,其中所述顶点是所述多边形扇区的中心顶点,所述附带多边形是未访问的,且所述附带多边形具有与所述多边形扇区中邻近多边形的定向相同的定向,或者所述附带多边形在所述多边形扇区中没有邻近多边形。
20.如权利要求17所述的计算机可读存储装置,其中所述嵌合包括:
对于所述至少一个多边形扇区中的至少两个非三角形多边形,在所述至少两个非三角形多边形的公共顶点与所述至少两个非三角形多边形的对应一个非三角形多边形的其他顶点之间以所述其他顶点的遍历顺序***一个或多个边。
21.如权利要求17所述的计算机可读存储装置,其还包括:
基于所述嵌合来输出所述三角形网格。
22.如权利要求17所述的计算机可读存储装置,其还包括:
基于所述嵌合来输出所述一组有序的三角形扇区。
23.如权利要求17所述的计算机可读存储装置,其还包括:
以所述遍历顺序,生成值序列,每个值对应于所述多个多边形中每个多边形的三角形的数量;
输出所述一组多边形扇区中的多边形扇区中每个多边形中三角形的数量。
24.如权利要求23所述的计算机可读存储装置,其中所述压缩还包括:
使用所述三角形网格和所述一组三角形扇区来压缩所述多边形网格;和
压缩所述值序列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/473,242 | 2014-08-29 | ||
US14/473,242 US10055857B2 (en) | 2014-08-29 | 2014-08-29 | Extension of the MPEG/SC3DMC standard to polygon meshes |
PCT/CA2015/050803 WO2016029303A1 (en) | 2014-08-29 | 2015-08-21 | Extension of the mpeg/sc3dmc standard to polygon meshes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106663328A CN106663328A (zh) | 2017-05-10 |
CN106663328B true CN106663328B (zh) | 2021-01-01 |
Family
ID=55398536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580046511.XA Active CN106663328B (zh) | 2014-08-29 | 2015-08-21 | 多边形网格的mpeg/sc3dmc标准的扩展 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10055857B2 (zh) |
EP (1) | EP3186781B1 (zh) |
JP (1) | JP6517922B2 (zh) |
KR (1) | KR102467816B1 (zh) |
CN (1) | CN106663328B (zh) |
WO (1) | WO2016029303A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3163536B1 (en) * | 2015-10-30 | 2021-12-08 | Dassault Systèmes | Compression of a three-dimensional modeled object |
JP2024008746A (ja) * | 2022-07-09 | 2024-01-19 | Kddi株式会社 | メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000077740A1 (en) * | 1999-06-14 | 2000-12-21 | Sun Microsystems, Inc. | Geometric compression of three-dimensional graphics |
CN101364310A (zh) * | 2007-08-07 | 2009-02-11 | 北京灵图软件技术有限公司 | 一种三维模型图形的生成方法和装置 |
CN102725775A (zh) * | 2010-01-25 | 2012-10-10 | 汤姆森特许公司 | 编码3d网格模型法线的方法、解码3d网格模型法线的方法、编码器和解码器 |
CN103489221A (zh) * | 2013-09-30 | 2014-01-01 | 中国科学院深圳先进技术研究院 | 四边形网格共形参数化方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668091B1 (en) * | 1998-10-02 | 2003-12-23 | Samsung Electronics Co., Ltd. | 3D mesh coding/decoding method |
US6452596B1 (en) * | 1998-10-06 | 2002-09-17 | International Business Machines Corporation | Methods and apparatus for the efficient compression of non-manifold polygonal meshes |
US6469701B1 (en) | 1999-07-19 | 2002-10-22 | Stefan Gumhold | Method for compressing graphical information |
JP4541533B2 (ja) * | 2000-11-24 | 2010-09-08 | パナソニック株式会社 | 描画装置 |
GB2415118B (en) * | 2002-05-10 | 2006-04-05 | Imagination Tech Ltd | An interface and method of interfacing between a parametic modelling unit and a polygon based rendering system |
US6906714B2 (en) * | 2002-06-21 | 2005-06-14 | Intel Corporation | Accelerated visualization of surface light fields |
JP2005056083A (ja) * | 2003-08-01 | 2005-03-03 | Ricoh Co Ltd | n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 |
US8773432B2 (en) * | 2008-04-18 | 2014-07-08 | Adobe Systems Incorporated | Triangulation for accelerated multi-resolution rendering of stroked paths |
CN101807308B (zh) * | 2009-02-12 | 2015-07-08 | 富士通株式会社 | 三维模型分割装置和方法 |
GB0908506D0 (en) * | 2009-05-18 | 2009-06-24 | Imagination Tech Ltd | Method and apparatus for drawing polygons |
CN102804230B (zh) * | 2009-06-23 | 2016-09-07 | 汤姆森特许公司 | 使用重复图案压缩3d网格 |
CN101877145B (zh) * | 2010-05-21 | 2012-06-20 | 西安电子科技大学 | 基于质量因子的复杂平表面网格预剖分方法 |
GB2477368B (en) | 2010-10-11 | 2011-12-14 | Visual Technology Services Ltd | Triangle mesh compression |
GB201104066D0 (en) * | 2011-03-09 | 2011-04-20 | Imagination Tech Ltd | Compression of a tessellated primitive index list in a tile rendering system |
US20140160241A1 (en) * | 2011-07-08 | 2014-06-12 | Kangying Cai | System and method for encoding and decoding a bitstream for a 3d model having repetitive structure |
WO2014005415A1 (en) | 2012-07-04 | 2014-01-09 | Thomson Licensing | System and method for multi-level repetitive structure based 3d model compression |
-
2014
- 2014-08-29 US US14/473,242 patent/US10055857B2/en active Active
-
2015
- 2015-08-21 CN CN201580046511.XA patent/CN106663328B/zh active Active
- 2015-08-21 JP JP2017511707A patent/JP6517922B2/ja active Active
- 2015-08-21 KR KR1020177007182A patent/KR102467816B1/ko active IP Right Grant
- 2015-08-21 EP EP15835181.7A patent/EP3186781B1/en active Active
- 2015-08-21 WO PCT/CA2015/050803 patent/WO2016029303A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000077740A1 (en) * | 1999-06-14 | 2000-12-21 | Sun Microsystems, Inc. | Geometric compression of three-dimensional graphics |
CN101364310A (zh) * | 2007-08-07 | 2009-02-11 | 北京灵图软件技术有限公司 | 一种三维模型图形的生成方法和装置 |
CN102725775A (zh) * | 2010-01-25 | 2012-10-10 | 汤姆森特许公司 | 编码3d网格模型法线的方法、解码3d网格模型法线的方法、编码器和解码器 |
CN103489221A (zh) * | 2013-09-30 | 2014-01-01 | 中国科学院深圳先进技术研究院 | 四边形网格共形参数化方法 |
Non-Patent Citations (2)
Title |
---|
3D mesh compression using triangle fan structure;Sim J Y ET AL;《IEEE International Symposium on Circuits & Systems》;20021231;第257-260页 * |
三维GIS表面模型切割算法研究;杨洋;《中国优秀硕士学位论文全文数据库基础科学辑》;20130331;第A008-18页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3186781A4 (en) | 2018-03-28 |
US20160063737A1 (en) | 2016-03-03 |
KR102467816B1 (ko) | 2022-11-16 |
EP3186781A1 (en) | 2017-07-05 |
EP3186781B1 (en) | 2021-10-27 |
JP6517922B2 (ja) | 2019-05-22 |
CN106663328A (zh) | 2017-05-10 |
US10055857B2 (en) | 2018-08-21 |
WO2016029303A1 (en) | 2016-03-03 |
KR20170048408A (ko) | 2017-05-08 |
JP2017533494A (ja) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230068246A1 (en) | Database utilizing spatial probability models for data compression | |
Mamou et al. | TFAN: A low complexity 3D mesh compression algorithm | |
JP2022539411A (ja) | 点群符号化方法、点群復号化方法、符号器、復号器及びコンピュータ記憶媒体 | |
AU2010361598B2 (en) | Method and apparatus for encoding geometry patterns, and method and apparatus for decoding geometry patterns | |
JP2015504545A (ja) | 予測位置符号化 | |
CN113096198B (zh) | 一种双向点云属性预测压缩方法,装置,设备及介质 | |
JP2011528452A (ja) | 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法 | |
US10373384B2 (en) | Lightfield compression using disparity predicted replacement | |
US6791543B2 (en) | Forming method for structuring polygonal mesh data and apparatus, and storage medium | |
CN106663328B (zh) | 多边形网格的mpeg/sc3dmc标准的扩展 | |
Derzapf et al. | Dependency‐free parallel progressive meshes | |
AU2012283580A1 (en) | System and method for encoding and decoding a bitstream for a 3D model having repetitive structure | |
KR101086774B1 (ko) | 저복잡도 3차원 메쉬 압축 장치 및 방법 | |
KR20240073054A (ko) | 포인트 클라우드 데이터 프레임 압축 | |
WO2014005415A1 (en) | System and method for multi-level repetitive structure based 3d model compression | |
WO2013123635A1 (en) | Methods for compensating decoding error in three-dimensional models | |
KR20240090790A (ko) | 메시 압축을 위한 적응형 지오메트리 필터링 | |
EP4399683A1 (en) | Connectivity information coding method and apparatus for coded mesh representation | |
CN117980965A (zh) | 用于编码的网格表示的连接信息编码方法及装置 | |
US20080240594A1 (en) | Compression of triangle stripped data | |
KR20200067040A (ko) | 데이터 압축 장치 및 방법 | |
KR20090110777A (ko) | 양자화 기법에 기반한 3차원 메쉬 압축 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |