CN108604384B - 基于正交投影的三维网格纹理图集打包 - Google Patents

基于正交投影的三维网格纹理图集打包 Download PDF

Info

Publication number
CN108604384B
CN108604384B CN201780008739.9A CN201780008739A CN108604384B CN 108604384 B CN108604384 B CN 108604384B CN 201780008739 A CN201780008739 A CN 201780008739A CN 108604384 B CN108604384 B CN 108604384B
Authority
CN
China
Prior art keywords
instructions
projected
cause
computer processor
triangle
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
Application number
CN201780008739.9A
Other languages
English (en)
Other versions
CN108604384A (zh
Inventor
魏晓林
张一夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN108604384A publication Critical patent/CN108604384A/zh
Application granted granted Critical
Publication of CN108604384B publication Critical patent/CN108604384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

一种图集打包方法包括:接收三维(3D)网格,所述3D网格包括表示一个或多个对象的表面的多个三角形;对于每个相应三角形,确定所述相应三角形的法线,并且将所述相应三角形分类为沿x、y和z方向的正和负的六个方向之一;将每个相应方向上的三角形分类为与所述相应方向正交的一个或多个层;对于每个相应层,识别一个或多个连接分量;将每个相应连接分量投影到与所述相应方向正交的平面上,以获得相应投影的二维(2D)连接分量;将所述投影的2D连接分量切割成一个或多个子分量;将所有子分量的边界框打包成一个或多个图集;以及对于每个子分量的每个相应三角形,将所述3D网格的对应三角形的纹理复制到所述相应三角形。

Description

基于正交投影的三维网格纹理图集打包
相关申请的交叉引用
本申请要求2016年1月29日提交的美国临时专利申请No.62/289,059的权益,其全部内容通过引用并入本文中。
背景技术
在计算机图形学中,纹理图集(也称为平铺贴图(tile map)、平铺引擎(tileengine)或精灵表(sprite sheet))是包含子图像的集合或“图集(atlas)”的大图像,每个子图像是三维(3D)模型的某一部分的纹理贴图。可能期望将3D网格中的三角形纹理有效地打包成矩形纹理图集。一种有效的打包方法可以极大地减小图集图像的大小,从而提高网格纹理渲染以及网格存储的性能。
发明内容
根据本发明的一个实施例,一种图集打包方法包括接收三维(3D)网格。所述3D网格包括表示一个或多个对象的表面的多个三角形。每个三角形具有相应的纹理。所述方法进一步包括:对于所述多个三角形中的每个相应三角形,确定所述相应三角形的法线;以及根据所述法线的主要分量,将所述相应三角形分类为沿x、y和z方向的正和负的六个方向之一。所述方法进一步包括将所述六个方向中的每个相应方向上的三角形分类为与所述相应方向正交的一个或多个层。所述方法进一步包括:对于相应方向上的每个相应层,识别一个或多个连接分量,每个连接分量包括多个连接三角形;将每个相应连接分量投影到与所述相应方向正交的平面上,以获得相应投影的二维(2D)连接分量;以及将所述投影的2D连接分量切割成一个或多个子分量。每个子分量被包含在相应矩形边界框内。所述方法进一步包括:将所有方向上的所有层中的所有投影的2D连接分量的所有子分量的所述边界框打包成一个或多个图集;以及对于每个图集中的每个子分量的每个相应三角形,将所述3D网格的对应三角形的纹理复制到所述相应三角形。
附图说明
图1示出了简化流程图,其示例出根据本发明实施例的将三角形3D网格打包成纹理图集的方法。
图2示出了简化流程图,其示例出根据本发明实施例的执行将网格分割成三维(3D)网格的方法。
图3示出了根据本发明实施例的示例性投影的2D连接分量。
图4示出了根据本发明实施例的通过切割图3所示例的投影的2D连接分量而产生的一些示例性子分量。
图5示出了简化流程图,其示例出根据本发明实施例的切割投影的2D连接分量的方法。
图6示出了简化流程图,其示例出根据本发明实施例的将分量打包成图集的方法。
图7和8示出了根据本发明实施例的矩形形状的分量被有效地打包成的一些示例性图集。
图9示出了简化流程图,其示例出根据本发明实施例的纹理贴图方法。
图10和11分别示出了在分量已被纹理化之后的图7和8所示例的图集。
图12A示例出其中一些像素被着色并且一些像素为暗像素的一部分图集。
图12B示出了根据本发明实施例的在块填充之后的图12A所示例的一部分图集。
图13示出了简化流程图,其示例出根据本发明实施例的对纹理化图集进行块填充的方法。
图14A和14B分别示出了根据本发明实施例的块填充之前和块填充之后的一部分图集图像。
图15示出了简化流程图,其示例出根据本发明实施例的纹理化图集的块级填充方法。
图16A和16B示出了通过直接对彩色图像掩蔽纹理化的分量而创建的一些示例性图集图像。
图17示出了简化流程图,其示例出根据本发明实施例的纹理图集打包的方法。
具体实施方式
本发明一般地涉及纹理图集打包的方法。更具体地说,本发明涉及基于正交投影的三维(3D)网格纹理图集打包的方法。根据一些实施例,3D网格可包括多边形网格。多边形网格是顶点、边和面的集合,该集合定义3D计算机图形和实体建模中多面体对象的形状。所述面通常包括三角形(三角形网格)、四边形或其它凸多边形。所述面还可以包括凹多边形、具有孔的多边形、以及螺旋形状。
仅作为示例,本发明可被应用于产生具有形状正交特性的对象的3D网格的有效图集打包。例如,人造结构(如房屋、建筑物和体育场)通常具有规则的矩形形状。对于这种结构,网格的主要分量通常是正交对齐的。例如,诸如墙壁、天花板或地板之类的大平面通常彼此平行或垂直。
图1示出了简化流程图,其示例出根据本发明实施例的将三角形3D网格打包成纹理图集的方法100。方法100可以包括以下主要步骤:接收3D网格(110);网格分割(120);三角形投影(130);分量切割(140);分量打包(150);纹理贴图(160);以及填充(170)。其中这些步骤中的一些步骤可以是可选的。如上所述,所接收的3D网格可以包括基于三角形(三角形网格)、四边形或其它凸多边形的分量。对于本领域技术人员显而易见的是,所接收的3D网格表示三维对象或结构。另外,尽管这里讨论了三角形网格,但是本发明的实施例不限于三角形网格。方法100可以由包括处理器和存储指令的非暂时性计算机可读存储介质的计算机系统实现。下面更详细地描述步骤120、130、140、150、160和170中的每一者的细节。
A.网格分割
图2示出了简化流程图,其示例出根据本发明实施例的执行网格分割的方法200。方法200可以包括,在202,识别在3D网格中的一个或多个主表面,例如墙壁、天花板和地板。方法200可以进一步包括,在204,将正交旋转应用于3D网格,以使得每个主表面与三个正交主轴(即x轴、y轴和z轴)中的一个对齐。这可以通过计算每个主表面的法线,并将每个主表面的法线与三个主轴中的一个对齐来实现。如果主表面已经与主轴对齐,则可以不需要正交旋转。
方法200进一步包括,在206,将3D网格中的每个三角形分类为六个主方向(即正和负x、y和z方向)之一。三角形可以被分类到其法线的主要分量所沿着的方向。例如,如果三角形的法线主要在正z轴上指向(即,法线的最大分量在正z轴上),则该三角形可以被分类到正z方向。
方法200可以进一步包括,在208,将在六个主方向中的每个方向上的三角形分类为多个层。在一个实施例中,每个方向上的空间可以被与该方向正交的平行平面均匀地划分。例如,正z方向上的空间可以被与z方向正交的平行平面均匀地划分。位于两个相邻平面之间的正z方向上的三角形可以分类为一个层。三角形的位置可以由三角形的几何中心确定。在一些其它实施例中,每个方向上的空间不一定必须被均匀地划分。例如,正z方向上的空间可以被与z方向正交的平面划分,其中相邻平面之间的距离是变化的。
在如上所述将所有六个主方向上的三角形分类为一个或多个层之后,可以在每个层中识别连接分量。连接分量包括通过共同的边或角连接的一个或多个三角形。如果场景近似地满足上述正交性标准,则大多数连接分量可以被分割成矩形对象,从而有助于有效的打包性能,如下面将进一步描述的。
B.三角投影
根据实施例,对于每个主方向上的每个层,每个连接分量可以被投影到与相应方向正交的平面上。因此,可以针对每个连接分量创建投影的二维(2D)图像。投影的2D图像中的三角形的顶点可以以实际测量单位(例如以米为单位)被存储或记录。在一些实施例中,投影可以被缩放。例如,可以以像素为单位测量2D图集图像,例如,每个图像2048×2048像素。当表示例如墙壁的2米×2米连接分量被投影到2048×2048图像时,相应的比例因子将是1024。
在一些情况下,将连接分量投影到2D图像中可能导致重叠的三角形。即使对于具有大致面向相同方向的三角形的连接分量(例如表示螺旋形表面的连接分量),也可能出现此情况。当发现重叠三角形时,可能需要执行分量分割的步骤。
C.分量切割
由于最终的图集通常是矩形图像,因此将矩形形状打包成图集可能更有效。根据本发明的实施例,投影的2D连接分量可以被切割成多个子分量,使得每个子分量有效地容纳在(fit into)矩形图像中。在某些情况下,如果正交旋转已被应用于3D网格,以及如果场景主要由正交表面(如墙壁、天花板和地板)组成,则投影的2D连接分量的部分或大部分可能具有矩形轮廓(即,在垂直或水平方向上具有直边)。
图3示出了根据本发明的实施例的示例性投影的2D连接分量300。白色区域表示投影的2D连接分量300。外矩形区域302是投影的2D连接分量300的边界框。边界框是包含投影的2D连接分量的最小矩形框。在图3中可以看出,在边界框302内存在一些暗区。因此,投影的2D连接分量300的面积与边界框302的面积之间的比率可能小于最佳值。
根据本发明的实施例,最佳值可以是投影的2D连接分量的面积和/或边界框的面积的函数。作为示例,如果投影的2D连接分量的面积大(例如,大于预定阈值),则投影的2D连接分量的面积与边界框的面积之间的最佳比率可以是约80%到约90%或更高。应当理解,实现更高的比率可能以计算时间和计算资源等为代价。因此,如果投影的2D连接分量的面积小(例如,小于预定阈值),则投影的2D连接分量的面积与边界框的面积之间的最佳比率可小于80%,例如,约50%或与投影的2D连接分量的面积一致的另一适当值。因此,本发明的实施例可以针对与投影的2D连接分量的面积成比例的最佳比率(例如,随着面积增大而增大最佳比率)使用不同的阈值。
根据一个实施例,图3所示的投影的2D连接分量300可以沿直线382、384、386和388进行切割,以产生五个子分量310、320、330、340和350。五个子分量310、320、330、340和350中的每一者可以如图4所示被包含在相应矩形边界框312、322、332、342或352中。从图4中可以看出,五个子分量310、320、330、340和350的边界框312、322、332、342或352的面积的总和可以小于原始投影的2D连接分量300的边界框302的面积。因此,子分量310、320、330、340和350可以比原始投影的2D连接分量300更有效地被打包。应注意,在每个边界框312、322、332、342或352的边处存在一些像素填充(即,边周围的暗区),以在将边界框打包成图集时防止分量的各个边处的纹理混合。
图5示出了简化流程图,其示例出根据本发明实施例的切割投影的2D连接分量的方法500。方法500可以包括,在502,使投影的2D连接分量旋转,以使得边界框的面积最小化。例如,在图3所示的示例中,投影的2D连接分量300可以被旋转,以使得投影的2D连接分量300的主要直边基本上平行于边界框302的边,如图3所示。如果投影的2D连接分量已经被最佳地定向,则可能不需要旋转。
方法500进一步包括,在504,确定边界框的面积是否小于或等于第一预定阈值以及边界框的较长边是否小于或等于图集尺寸(例如,矩形或正方形图集的长度)。如果确定边界框的面积小于或等于第一预定阈值并且较长边小于或等于图集尺寸,则不执行进一步的切割并且保存当前投影的2D连接分量(506)。
如果确定边界框的面积大于第一预定阈值或者较长边大于图集尺寸,则方法500继续在508,确定投影的2D连接分量的面积与边界框的面积的比率是否小于或等于第二预定阈值。如果确定该比率大于或等于第二预定阈值,则不执行进一步的切割并且保存当前投影的2D连接分量(506)。如果确定该比率小于第二预定阈值,则方法500继续在510,将投影的2D连接分量切割成多个子分量。可以使用方法500进一步切割每个子分量。
如上面关于图3所讨论的,最佳比率,关于图5被称为第二预定阈值,可以是投影的2D连接分量的面积和/或边界框的面积的函数。如果投影的2D连接分量的面积和/或边界框的面积大,则第二预定阈值可以是约80%到约90%或更高。如果投影的2D连接分量的面积和/或边界框的面积小,则第二预定阈值可小于80%,例如约50%或与投影的2D连接分量的面积和/或边界框的面积一致的另一适当值。
在一些实施例中,可以沿着最佳的垂直或水平直线切割投影的2D连接分量以产生两个或更多个子分量,以使得两个或更多个子分量的边界框的面积的总和最小化。在一个实施例中,最佳直切割线可以沿着投影的2D连接分量的边,该边可以通过在垂直或水平方向上搜索最大单位区域变化来找到。
例如,在图3所示的示例中,对于垂直轴的每个小段,其单位区域是投影的2D连接分量和由该小段限定的矩形条390的交叉区域。通过沿垂直轴扫描每个小段,如果在两个相邻小段的单位区域之间存在大的跳跃,则该分量可能在两个小段之间具有边。例如,在图3所示的示例中,在水平直线382正下方和正上方的垂直小段的单位区域之间可能存在大的跳跃。因此,沿水平直线382的切割可能导致三个子分量,即,线382下方的子分量和线382上方的两个子分量340和350。
可以使用相同的算法将线382下方的子分量进一步切割成两个或更多个子分量。例如,通过沿水平轴扫描每个小段,可以在垂直直线386处检测边。沿直线386的切割可以产生两个子分量,即,子分量330和线386右侧的子分量。可以沿水平直线388进一步切割线386右侧的子分量以产生两个子分量310和320。
D.分量打包
在完成所有分量或子分量之后,可以将分量的边界框打包成图集。由于图集具有矩形形状,因此可以将矩形边界框有效地打包成最小数量的图集。在一些实施例中,图集可以具有固定大小的正方形或矩形形状。
图6示出了简化流程图,其示例出根据本发明实施例的将分量打包成一个或多个图集的方法600。方法600包括,在602,按照其较长边的长度以降序对边界框进行排序。如果需要,可以将边界框旋转90度,以使得它们的较长边是水平的。
方法600进一步包括:在604,选择未打包的第一边界框;在606,搜索所有当前图集中的可用空间,例如以分配顺序搜索;以及在608,将所选择的边界框打包成可以容纳所选择的边界框的第一图集。在一个实施例中,可以在图集中逐列打包边界框。如果在所有当前图集中找不到可用空间,则将所选择的边界框打包成新的图集。方法600进一步包括,在610,确定是否存在任何未打包的边界框。如果确定不存在更多未打包的边界框,则打包完成(612)。如果存在更多未打包的边界框,则方法600继续下一未打包的边界框。
图7和8示出了根据本发明实施例的将矩形分量有效地打包成的两个示例性图集。不同的分量由不同的颜色表示。(应注意,颜色并非分量的纹理)。定义矩形的紫色线是边界框的边界。由图7和8所示的图集表示的场景是室内场景的部分。由于这些场景满足上面讨论的正交性标准,所以大分量是基本上矩形的。因此,根据本发明的实施例可以实现有效打包。
E.纹理贴图
在将所有分量的边界框打包成图集之后,可以将输入3D网格中的每个三角形(即,源三角形)的纹理复制到图集中的对应三角形(即,目标三角形)。
图9示出了简化流程图,其示例出根据本发明的实施例的纹理贴图的方法900。方法900包括:在902,识别每个源三角形与对应的目标三角形之间的顶点映射;在904,对于目标三角形中的每个相应像素,将像素坐标转换为重心坐标;以及在906,将每个源三角形中相同重心坐标处的所有像素颜色复制到目标三角形中的相应像素。在一些实施例中,可以在步骤906使用双线性内插。
图10和11示出了在分量已被纹理化之后的图7和8所示例的图集。三角形的线段是三角形的边。
F.块填充
可以存储通过方法900获得的纹理化图集以供稍后的渲染。图集图像可以以压缩格式(例如JPEG、H.264/AVC格式或H.265/HEVC格式)被保存。根据本发明的一些实施例,可以对纹理化图集执行块填充以提高图像压缩效率并因此减小存储大小。
在块填充之前,作为分量的一部分的像素可以用纹理着色,而作为分量的一部分的像素可以是暗像素,即,RGB值为(0,0,0)。图12A示例出其中一些像素被着色并且一些像素为暗像素的图集的一部分。对于JPEG压缩标准,图集图像可以被划分为8像素乘8像素的块。例如,图12A所示例的图集的该部分被划分为四个8×8块1202、1204、1206和1208。每个8×8块可以被单独变换和量化。对于既包括纹理化像素也包括暗像素的8×8块(诸如图12A所示的块1202、1204和1206),变换后的域可能包含大的高频率分量,这可能影响压缩效率和图像质量。另一方面,如果8×8块仅包括暗像素(诸如图12A所示的块1208),则变换和量化二者都可以导致零输出,因此可能已经是有效的。
图13示出了简化流程图,其示例出根据本发明的实施例的块填充的方法1300。方法1300包括:在1302,将图集图像划分为8×8块;以及在1304,对于既包括纹理化的像素也包括暗像素的每个块,用纹理化的像素的颜色填充暗像素。在一个实施例中,可以使用泛洪填充算法来填充暗像素。
图12B示出了根据本发明的实施例的块填充之后的图12A所示的图集的一部分。应注意,块1202、1204和1206(其中每个块先前既包括纹理化的像素也包括暗像素,如图12A所示)现在仅包括纹理化的像素。因此,这些块的变换后的域不包含来自暗像素的高频噪声分量,因此可以更有效地被压缩。仅包括暗像素的块1208保持不变。
图14A和14B分别示出了根据本发明实施例的块填充之前和块填充之后的图集图像的一部分。应注意,块填充之前(如图14A所示)的区域1402内的暗像素在块填充之后(如图14B所示)被纹理化。此外,在块填充之后,分量的边的锯齿状更加明显。图10和图11所示的示例性纹理化图集图像已经根据本发明的实施例针对JPEG压缩标准进行了块填充。
对于更高级的压缩标准,诸如H.264/AVC和H.265/HEVC标准,可以首先从相邻块预测块。在暗块具有纹理化的相邻块的情况下,从相邻块的预测可能与暗块明显不同,这可能针对基于预测的压缩标准导致低压缩效率。根据实施例,可以执行块级填充操作。
图15示出了简化流程图,其示例出根据本发明实施例的块级填充方法1500。方法1500包括:在1502,将图集图像划分为8×8块;以及在1504,对于既包括纹理化像素也包括暗像素的每个8×8块,例如使用泛洪填充算法,用纹理化像素的颜色填充暗像素。方法1500进一步包括,在1506,用相邻纹理化块的颜色填充每个暗块。在一个实施例中,如果暗块从左或右相邻块复制颜色,则每个像素从同一行中的相邻像素复制颜色;如果暗块从上或下相邻块复制颜色,则每个像素从同一列中的相邻像素复制颜色。
如上所述,本发明的实施例提供了将3D三角形网格打包成纹理化图集的方法,其可以导致有效的存储器使用。当应用于表示具有形状正交特性的对象(诸如包括彼此平行或垂直的墙壁、天花板或地板的房屋和建筑物)的3D网格时,该方法尤其有利。
为了比较,图16A和16B示出了通过使用常规方法直接从彩色图像掩蔽纹理化分量而创建的一些示例性图集图像。如图16A和16B所示,每个图集图像包括大的暗区。对于每个图集,纹理化区域仅占总图集区域的一小部分。因此,图16A和16B所示的图集可能具有低的存储器和存储使用效率。相比之下,图10和11所示的图集具有高得多的打包效率。
G.基于正交投影的纹理图集打包方法
图17示出了简化流程图,其示例出根据本发明的实施例的纹理图集打包的方法1700。方法1700包括,在1702,输入三维(3D)网格。3D网格可以包括表示一个或多个对象的表面的多个三角形。每个三角形都有相应的纹理。
方法1700进一步包括:在1704,对于每个相应三角形,确定相应三角形的法线;以及在1706,根据法线的主要分量,将相应三角形分类为沿x、y和z方向的正和负的六个方向之一。方法1700进一步包括,在1708,将六个方向中的每个相应方向上的三角形分类为与相应方向正交的一个或多个层。
方法1700进一步包括,在1710,对于相应方向上的每个相应层,识别一个或多个连接分量。每个连接分量包括通过公共边或角连接的多个连接三角形。方法1700进一步包括,在1712,将每个相应的连接分量投影到与相应方向正交的平面上,以获得相应投影的二维(2D)连接分量。方法1700可以进一步包括,在1714,将投影的2D连接分量切割成一个或多个子分量。每个子分量可以被包含在相应的矩形边界框内。
方法1700进一步包括,在1716,将所有方向上的所有层中的所有投影的2D连接分量的所有子分量的边界框打包成一个或多个图集;以及在1718,对于每个图集中的每个子分量的每个相应三角形,将3D网格的对应三角形的纹理复制到相应三角形。
本领域技术人员可以进一步理解,参考本文中的公开描述的各种示例性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、或电子硬件和计算机软件的组合。例如,模块/单元可以由执行存储在计算机可读存储介质中的软件指令的处理器实现。
附图中的流程图和框图示出了根据本发明的多个实施例的系统和方法的可能实施方式的系统架构、功能和操作。在该方面,流程图或框图中的每个方框可以代表一个模块、一个程序段或代码的一部分,其中所述模块、程序段或代码的一部分包括用于实现规定的逻辑功能的一个或多个可执行指令。还应当注意,在一些替代实施方式中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地被执行,它们有时也可以按相反的顺序被执行,这依赖于所涉及的功能。框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以通过用于执行相应功能或操作的基于专用硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
本领域技术人员将理解,本公开的实施例可以体现为方法、系统或计算机程序产品。因此,本公开的实施例可以采用完全硬件实施例、完全软件实施例、或组合软件和硬件的实施例的形式。此外,本公开的实施例可以采取以包含计算机可读程序代码的一个或多个计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光存储器等)体现的计算机程序产品的形式。
参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的实施例。应当理解,流程图和/或框图的每个流程和/或框、以及流程图和/或框图中的流程和/或框的组合,可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机、嵌入式处理器或其它可编程的数据处理装置的处理器,从而生产出一种机器,以使得通过计算机或其它可编程的数据处理装置的处理器而被执行的这些指令产生用于实现流程图中的一个或多个流程和/或框图中的一个或多个框中规定的功能的装置。
也可以将这些计算机程序指令存储在计算机可读存储器中,计算机可读存储器可以引导计算机或其它可编程的数据处理装置以特定方式工作,从而,存储在计算机可读存储器中的指令产生制成产品,该制成产品包括实现流程图中的一个或多个流程和/或框图中的一个或多个框中规定的功能的指令装置。
也可以将计算机程序指令加载到计算机或其它可编程的数据处理装置上,以使得对计算机或其它可编程的装置执行一系列操作步骤,以产生由计算机实现的处理,从而使得在计算机或其它可编程的装置上执行的指令提供用于实现流程图中的一个或多个流程和/或框图中的一个或多个框中规定的功能的步骤。在典型配置中,计算机设备包括一个或多个中央处理单元(CPU)、输入/输出接口、网络接口和存储器。存储器可以包括易失性存储器、随机存取存储器(RAM)和/或非易失性存储器等的形式,例如计算机可读存储介质中的只读存储器(ROM)或闪速存储器RAM。存储器是计算机可读存储介质的示例。
计算机可读存储介质是指可以存储处理器可读的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器执行与本文描述的实施例一致的步骤或阶段的指令。计算机可读存储介质包括非易失性和易失性介质,以及可移动和不可移动介质,其中信息存储可以用任何方法或技术实现。信息可以是计算机可读指令、数据结构和程序的模块,或其它数据。计算机存储介质的示例包括但不限于相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术、紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其它光存储器、盒式磁带、磁带或盘存储器或其它磁存储设备,或可用于存储能够被计算机设备访问的信息的任何其它非传输介质。计算机可读存储介质是非暂时性的,并且不包括诸如调制数据信号和载波之类的瞬态介质。
本说明书描述了用于基于正交投影的3D网格纹理图集打包的方法、装置和系统。阐述了所示例的步骤以说明所示的示例性实施例,并且应该预期到正在进行的技术开发将改变执行特定功能的方式。因此,本文提供的这些实施例是出于说明而非限制的目的。例如,本文公开的步骤或处理不限于以所描述的顺序执行,而是可以与所公开的实施例一致,以任何顺序执行,并且可以省略一些步骤。此外,为了便于描述,这里任意地定义了功能构建块的边界。可以定义替代边界,只要指定的功能及其关系被适当地执行即可。基于本文中包含的教导,替代方案(包括本文中描述的那些的等同物、扩展、变化、偏差等)对于相关领域的技术人员而言将是显而易见的。这些替代方案落入所公开的实施例的范围和精神内。
虽然本文描述了所公开的原理的示例和特征,但是在不脱离所公开的实施例的精神和范围的情况下,可以做出修改、改编和其它实施方式。此外,词语“包括”、“具有”、“包含”和“含有”以及其它类似形式在意义上是等同的,并且是开放式的,因为这些词语中的任一词语之后的一个或多个项目并非意味着列出这个或这些项目的穷举性清单,也不意味着仅限于所列的一个或多个项目。还应注意,如本文所使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另有明确说明。
应当理解,本发明不限于上面已经描述并在附图中示出的确切结构,并且在不脱离其范围的情况下可以进行各种修改和改变。

Claims (20)

1.一种图集打包方法,包括:
接收三维(3D)网格,所述3D网格包括表示一个或多个对象的表面的多个三角形,每个三角形具有相应的纹理;
对于所述多个三角形中的每个相应三角形:
确定所述相应三角形的法线;以及
根据所述法线的主要分量,将所述相应三角形分类为沿x、y和z方向的正和负的六个方向之一;
将所述六个方向中的每个相应方向上的三角形分类为与所述相应方向正交的一个或多个层;
对于相应方向上的每个相应层:
识别一个或多个连接分量,每个连接分量包括多个连接三角形;
将每个相应连接分量投影到与所述相应方向正交的平面上,以获得相应投影的二维(2D)连接分量;以及
将所述投影的2D连接分量切割成一个或多个子分量,每个子分量被包含在相应矩形边界框内;
将所有方向上的所有层中的所有投影的2D连接分量的所有子分量的所述边界框打包成一个或多个图集;以及
对于每个图集中的每个子分量的每个相应三角形,将所述3D网格的对应三角形的纹理复制到所述相应三角形。
2.根据权利要求1所述的方法,进一步包括:在将所述三角形分类之前:
识别所述3D网格的一个或多个主表面;以及
旋转所述3D网格以使所述一个或多个主表面的法线与x、y和z方向中的一者或多者对齐。
3.根据权利要求1所述的方法,其中将每个相应方向上的所述三角形分类为所述一个或多个层包括:
通过与所述相应方向正交的多个平面在所述相应方向上划分空间;以及
将位于两个相邻平面之间的三角形分类为一个层。
4.根据权利要求1所述的方法,其中将所述投影的2D连接分量切割成所述一个或多个子分量使所述一个或多个子分量的所述边界框的面积的总和最小化。
5.根据权利要求4所述的方法,其中每个子分量具有基本上矩形的形状。
6.根据权利要求4所述的方法,其中切割所述投影的2D连接分量包括:
在水平方向或垂直方向上识别所述投影的2D连接分量的边;以及
在所识别的边处沿着水平直线或垂直直线切割所述投影的2D连接分量,以将所述投影的2D连接分量划分为两个或更多个子分量。
7.根据权利要求6所述的方法,其中切割所述投影的2D连接分量进一步包括,在识别所述边之前:
旋转所述投影的2D连接分量,以使包含所述投影的2D连接分量的矩形边界框的面积最小化。
8.根据权利要求1所述的方法,其中将所有子分量的所述边界框打包包括:
将所有子分量的所述边界框按其较长边的长度降序排列;
选择第一未打包的边界框;
在所有当前图集中搜索能容纳所述第一未打包的边界框的可用空间;以及
在所述可用空间中打包所述第一未打包的边界框。
9.根据权利要求1所述的方法,进一步包括:
将每个图集划分为多个块,每个块包括多个像素;
对于既包括纹理化像素也包括暗像素的每个块,用纹理化像素的颜色填充暗像素;以及
使用压缩标准存储所述一个或多个图集。
10.根据权利要求1所述的方法,进一步包括:
将每个图集划分为多个块,每个块包括多个像素;
对于既包括纹理化像素也包括暗像素的每个块,用纹理化像素的颜色填充暗像素;
用相邻纹理化块的颜色填充仅包括暗像素的每个块;以及
使用压缩标准存储所述一个或多个图集。
11.一种非暂时性计算机可读存储介质,包括有形地体现在所述计算机可读存储介质上的多个计算机可读指令,当由计算机处理器执行时,所述多个计算机可读指令使所述计算机处理器执行图集打包,所述多个指令包括:
使所述计算机处理器接收三维(3D)网格的指令,所述3D网格包括表示一个或多个对象的表面的多个三角形,每个三角形具有相应的纹理;
使所述计算机处理器对于所述多个三角形中的每个相应三角形执行以下项的指令:
确定所述相应三角形的法线;以及
根据所述法线的主要分量,将所述相应三角形分类为沿x、y和z方向的正和负的六个方向之一;
使所述计算机处理器将所述六个方向中的每个相应方向上的三角形分类为与所述相应方向正交的一个或多个层的指令;
使所述计算机处理器对于相应方向上的每个相应层执行以下项的指令:
识别一个或多个连接分量,每个连接分量包括多个连接三角形;
将每个相应连接分量投影到与所述相应方向正交的平面上,以获得相应投影的二维(2D)连接分量;以及
将所述投影的2D连接分量切割成一个或多个子分量,每个子分量被包含在相应矩形边界框内;
使所述计算机处理器将所有方向上的所有层中的所有投影的2D连接分量的所有子分量的所述边界框打包成一个或多个图集的指令;以及
使所述计算机处理器对于每个图集中的每个子分量的每个相应三角形,将所述3D网格的对应三角形的纹理复制到所述相应三角形的指令。
12.根据权利要求11所述的非暂时性计算机可读存储介质,其中所述多个指令进一步包括使所述计算机处理器在将所述三角形分类之前执行以下项的指令:
识别所述3D网格的一个或多个主表面;以及
旋转所述3D网格以使所述一个或多个主表面的法线与x、y和z方向中的一者或多者对齐。
13.根据权利要求11所述的非暂时性计算机可读存储介质,其中使所述计算机处理器将每个相应方向上的三角形分类为所述一个或多个层的指令包括:
使所述计算机处理器通过与所述相应方向正交的多个平面在所述相应方向上划分空间的指令;以及
使所述计算机处理器将位于两个相邻平面之间的三角形分类为一个层的指令。
14.根据权利要求11所述的非暂时性计算机可读存储介质,其中将所述投影的2D连接分量切割成所述一个或多个子分量使所述一个或多个子分量的所述边界框的面积的总和最小化。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中每个子分量具有基本上矩形的形状。
16.根据权利要求14所述的非暂时性计算机可读存储介质,其中使所述计算机处理器切割所述投影的2D连接分量的指令包括:
使所述计算机处理器在水平方向或垂直方向上识别所述投影的2D连接分量的边的指令;以及
使所述计算机处理器在所识别的边处沿着水平直线或垂直直线切割所述投影的2D连接分量,以将所述投影的2D连接分量划分为两个或更多个子分量的指令。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中使所述计算机处理器切割所述投影的2D连接分量的指令进一步包括:
使所述计算机处理器在识别所述边之前,旋转所述投影的2D连接分量,以使包含所述投影的2D连接分量的矩形边界框的面积最小化的指令。
18.根据权利要求16所述的非暂时性计算机可读存储介质,其中使所述计算机处理器将所有子分量的所述边界框打包的指令包括:
使所述计算机处理器将所有子分量的所述边界框按其较长边的长度降序排列的指令;
使所述计算机处理器选择第一未打包的边界框的指令;
使所述计算机处理器在所有当前图集中搜索能容纳所述第一未打包的边界框的可用空间的指令;以及
使所述计算机处理器在所述可用空间中打包所述第一未打包的边界框的指令。
19.根据权利要求11所述的非暂时性计算机可读存储介质,其中所述多个指令进一步包括:
使所述计算机处理器将每个图集划分为多个块的指令,每个块包括多个像素;
使所述计算机处理器对于既包括纹理化像素也包括暗像素的每个块,用纹理化像素的颜色填充暗像素的指令;以及
使所述计算机处理器使用压缩标准存储所述一个或多个图集的指令。
20.根据权利要求11所述的非暂时性计算机可读存储介质,其中所述多个指令进一步包括:
使所述计算机处理器将每个图集划分为多个块的指令,每个块包括多个像素;
使所述计算机处理器对于既包括纹理化像素也包括暗像素的每个块,用纹理化像素的颜色填充暗像素的指令;
使所述计算机处理器用相邻纹理化块的颜色填充仅包括暗像素的每个块的指令;以及
使所述计算机处理器使用压缩标准存储所述一个或多个图集的指令。
CN201780008739.9A 2016-01-29 2017-01-25 基于正交投影的三维网格纹理图集打包 Active CN108604384B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662289059P 2016-01-29 2016-01-29
US62/289,059 2016-01-29
PCT/US2017/014866 WO2017132217A1 (en) 2016-01-29 2017-01-25 Orthogonal-projection-based texture atlas packing of three-dimensional meshes

Publications (2)

Publication Number Publication Date
CN108604384A CN108604384A (zh) 2018-09-28
CN108604384B true CN108604384B (zh) 2023-05-09

Family

ID=59387620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780008739.9A Active CN108604384B (zh) 2016-01-29 2017-01-25 基于正交投影的三维网格纹理图集打包

Country Status (10)

Country Link
US (1) US10249087B2 (zh)
EP (1) EP3408834A4 (zh)
JP (1) JP6826607B2 (zh)
KR (1) KR102527255B1 (zh)
CN (1) CN108604384B (zh)
AU (1) AU2017212389B2 (zh)
CA (1) CA3011891A1 (zh)
IL (1) IL260546B (zh)
NZ (1) NZ744280A (zh)
WO (1) WO2017132217A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249087B2 (en) 2016-01-29 2019-04-02 Magic Leap, Inc. Orthogonal-projection-based texture atlas packing of three-dimensional meshes
US10192347B2 (en) * 2016-05-17 2019-01-29 Vangogh Imaging, Inc. 3D photogrammetry
US10380762B2 (en) 2016-10-07 2019-08-13 Vangogh Imaging, Inc. Real-time remote collaboration and virtual presence using simultaneous localization and mapping to construct a 3D model and update a scene based on sparse data
US10242484B1 (en) * 2017-10-17 2019-03-26 8i Limited UV mapping and compression
WO2019115867A1 (en) * 2017-12-14 2019-06-20 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2019129919A1 (en) * 2017-12-28 2019-07-04 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US10839585B2 (en) 2018-01-05 2020-11-17 Vangogh Imaging, Inc. 4D hologram: real-time remote avatar creation and animation control
JP6975665B2 (ja) * 2018-03-14 2021-12-01 日本ユニシス株式会社 テクスチャマッピング装置およびテクスチャマッピング用プログラム
US11080540B2 (en) 2018-03-20 2021-08-03 Vangogh Imaging, Inc. 3D vision processing using an IP block
WO2019185985A1 (en) * 2018-03-26 2019-10-03 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US10810783B2 (en) 2018-04-03 2020-10-20 Vangogh Imaging, Inc. Dynamic real-time texture alignment for 3D models
US11170224B2 (en) 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
US11103763B2 (en) 2018-09-11 2021-08-31 Real Shot Inc. Basketball shooting game using smart glasses
US11141645B2 (en) 2018-09-11 2021-10-12 Real Shot Inc. Athletic ball game using smart glasses
US11216984B2 (en) * 2019-01-09 2022-01-04 Samsung Electronics Co., Ltd. Patch splitting for improving video-based point cloud compression performance
CN109816749B (zh) * 2019-02-14 2023-04-28 中国测绘科学研究院 图斑地图符号填充方法、装置、计算机设备及存储介质
WO2020190097A1 (ko) * 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 수신 장치, 포인트 클라우드 데이터 수신 방법, 포인트 클라우드 데이터 처리 장치 및 포인트 클라우드 데이터 처리 방법
CN111739084B (zh) * 2019-03-25 2023-12-05 上海幻电信息科技有限公司 图片处理方法、图集处理方法、计算机设备和存储介质
US11232633B2 (en) 2019-05-06 2022-01-25 Vangogh Imaging, Inc. 3D object capture and object reconstruction using edge cloud computing resources
US11170552B2 (en) 2019-05-06 2021-11-09 Vangogh Imaging, Inc. Remote visualization of three-dimensional (3D) animation with synchronized voice in real-time
CN110597759B (zh) * 2019-08-28 2022-03-29 福建省天奕网络科技有限公司 LayaIDE中图集资源优化的方法、存储介质
CN110533755B (zh) * 2019-08-30 2021-04-06 腾讯科技(深圳)有限公司 一种场景渲染的方法以及相关装置
US11348285B2 (en) * 2019-12-10 2022-05-31 Sony Group Corporation Mesh compression via point cloud representation
US11335063B2 (en) 2020-01-03 2022-05-17 Vangogh Imaging, Inc. Multiple maps for 3D object scanning and reconstruction
US11373339B2 (en) * 2020-03-18 2022-06-28 Sony Group Corporation Projection-based mesh compression
CN111476902B (zh) * 2020-04-27 2023-10-24 北京小马慧行科技有限公司 3d点云中物体的标注方法、装置、存储介质和处理器
US11836953B2 (en) * 2020-10-06 2023-12-05 Sony Group Corporation Video based mesh compression
US11978149B2 (en) * 2021-06-21 2024-05-07 The Weather Company, Llc UV map using weight painting
US12056823B2 (en) * 2021-06-23 2024-08-06 Adobe Inc. Segmenting three-dimensional meshes in graphical applications based on detection of elongated shapes
US20240127537A1 (en) * 2022-10-06 2024-04-18 Sony Group Corporation Orthoatlas: texture map generation for dynamic meshes using orthographic projections

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147936A (zh) * 2011-03-09 2011-08-10 浙江大学 一种基于级联的在三维地形表面无缝叠加二维矢量的方法
CN102792302A (zh) * 2010-03-09 2012-11-21 康奈可关精株式会社 用于形成表面处理数据的方法和装置
CN103345771A (zh) * 2013-06-28 2013-10-09 中国科学技术大学 一种基于建模的图像高效渲染方法
CN104574501A (zh) * 2014-12-19 2015-04-29 浙江大学 一种针对复杂三维场景的高质量纹理映射方法
CN105205866A (zh) * 2015-08-30 2015-12-30 浙江中测新图地理信息技术有限公司 基于密集点云的城市三维模型快速构建方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7071936B2 (en) 2002-05-01 2006-07-04 Microsoft Corporation Systems and methods for providing signal-specialized parametrization
US7265752B2 (en) 2004-01-09 2007-09-04 Microsoft Corporation Multi-chart geometry images
EP1899896A2 (en) * 2005-06-23 2008-03-19 Mental Images GmbH Real-time precision ray tracing
US8477153B2 (en) * 2011-08-24 2013-07-02 General Electric Company Method and system for navigating, segmenting, and extracting a three-dimensional image
KR101359661B1 (ko) * 2012-03-05 2014-02-10 한국과학기술원 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법
US9626789B2 (en) * 2013-05-07 2017-04-18 Advanced Micro Devices, Inc. Implicit texture map parameterization for GPU rendering
US9821517B2 (en) * 2013-06-26 2017-11-21 Microsoft Technology Licensing, Llc 3D manufacturing platform
US20170278293A1 (en) * 2013-07-18 2017-09-28 Google Inc. Processing a Texture Atlas Using Manifold Neighbors
US20170090460A1 (en) * 2015-09-25 2017-03-30 Microsoft Technology Licensing, Llc 3D Model Generation From Map Data
US20170091993A1 (en) * 2015-09-25 2017-03-30 Microsoft Technology Licensing, Llc 3D Model Generation From Map Data and User Interface
US10249087B2 (en) 2016-01-29 2019-04-02 Magic Leap, Inc. Orthogonal-projection-based texture atlas packing of three-dimensional meshes
US10192347B2 (en) * 2016-05-17 2019-01-29 Vangogh Imaging, Inc. 3D photogrammetry
US10229525B2 (en) * 2016-09-12 2019-03-12 Adobe Inc. Enhanced texture packing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792302A (zh) * 2010-03-09 2012-11-21 康奈可关精株式会社 用于形成表面处理数据的方法和装置
CN102147936A (zh) * 2011-03-09 2011-08-10 浙江大学 一种基于级联的在三维地形表面无缝叠加二维矢量的方法
CN103345771A (zh) * 2013-06-28 2013-10-09 中国科学技术大学 一种基于建模的图像高效渲染方法
CN104574501A (zh) * 2014-12-19 2015-04-29 浙江大学 一种针对复杂三维场景的高质量纹理映射方法
CN105205866A (zh) * 2015-08-30 2015-12-30 浙江中测新图地理信息技术有限公司 基于密集点云的城市三维模型快速构建方法

Also Published As

Publication number Publication date
KR20180107192A (ko) 2018-10-01
EP3408834A1 (en) 2018-12-05
CN108604384A (zh) 2018-09-28
CA3011891A1 (en) 2017-08-03
NZ744280A (en) 2020-08-28
WO2017132217A1 (en) 2017-08-03
EP3408834A4 (en) 2019-01-02
JP6826607B2 (ja) 2021-02-03
AU2017212389B2 (en) 2021-07-22
US20170221263A1 (en) 2017-08-03
IL260546B (en) 2020-05-31
JP2019507422A (ja) 2019-03-14
US10249087B2 (en) 2019-04-02
KR102527255B1 (ko) 2023-04-27
AU2017212389A1 (en) 2018-08-02

Similar Documents

Publication Publication Date Title
CN108604384B (zh) 基于正交投影的三维网格纹理图集打包
AU2008275873B2 (en) Methods and apparatus for multiple texture map storage and filtering
US10417821B2 (en) Method of simplifying a geometry model
US9013499B2 (en) Methods and apparatus for multiple texture map storage and filtering including irregular texture maps
US9501859B2 (en) Triangle rasterization
US10614178B2 (en) Scalable and precise fitting of NURBS surfaces to large-size mesh representations
US20160093088A1 (en) Graphics processing systems
US11100707B2 (en) Computer graphics method for terrain rendering
US20200211256A1 (en) Apparatus and method for generating 3d geographic data
US11221609B2 (en) Determining object volumes in virtual object space
KR102454180B1 (ko) 3차원 지형 데이터를 생성 장치 및 방법
US11521351B2 (en) Associating object property data with locations
CN113570691A (zh) 用于体素模型的存储优化方法、装置及电子设备
Wu et al. Unitypic: Unity point-cloud interactive core
CN117315197A (zh) 模型处理方法、装置、计算设备及机器可读存储介质
Sung et al. Image unprojection for 3D surface reconstruction: a triangulation-based approach
CN116416418A (zh) 一种多纹理合并方法及系统
Inatsuka et al. Texture classification for 3D urban map
Tripiana Montes GPU voxelization
Holst et al. Surfel-Based Billboard Hierarchies for Fast Rendering of 3D-Objects.

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