CN105830126B - 激光扫描数据的图像渲染 - Google Patents
激光扫描数据的图像渲染 Download PDFInfo
- Publication number
- CN105830126B CN105830126B CN201480068372.6A CN201480068372A CN105830126B CN 105830126 B CN105830126 B CN 105830126B CN 201480068372 A CN201480068372 A CN 201480068372A CN 105830126 B CN105830126 B CN 105830126B
- Authority
- CN
- China
- Prior art keywords
- group
- mapping
- sticking patch
- scanning
- spherical surface
- 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
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
描述了一种对三维激光扫描数据(6)的图像进行渲染的方法。所述方法包括:将给定扫描的一组激光扫描数据提供为球面置换映射(18);以及通过对所述球面置换映射采样来生成细分图案(71;图17)。图形处理单元可以生成所述细分图案。
Description
技术领域
本发明涉及用于渲染激光扫描数据的图像的方法、以及用于渲染激光扫描数据的图像的系统。
背景技术
能够使用三维激光扫描器来勘测诸如制炼厂、船舶或其他设施的环境。典型的扫描器包括激光测距仪,该激光测距仪能够测量扫描器与视野中表面上的点之间的距离。通过扫过视野(通常为横向360度、纵向接近180度),扫描器能够捕获周围环境的一组测距(这里称为“激光扫描数据”)。这些测距能够用来生成三维空间中的一组点(通常称为“点云”)。在EP 1176 393A2中描述了点云的示例。
能够在环境中的不同位置进行多个扫描,并且能够组合来自不同扫描的点云以产生覆盖更广区域的组合(或“聚合”)点云。在WO 2004/003844A1中能够找到组合点云数据的示例。
除了获取测距数据之外,扫描器还能够通过测量被反射激光的强度或使用照相机,来捕获周围环境的图像。
一个或多个点云和图像能够用来使用点云观察器应用或三维计算机辅助设计(CAD)应用来形象化和/或分析环境。通常,这些应用分为两类,即利用来自单独扫描的点进行工作的应用、以及利用从多个扫描组合的点进行工作的应用。
激光扫描的最简单应用之一为,显示通过单独扫描捕获的图像。因为来自激光扫描的图像为覆盖激光扫描器周围区域的球面,所以软件应用能够将图像映射到球体内部上。该应用能够将部分球体显示在计算机屏幕上。
用户能够旋转视图,从而观察整个图像的各不同部分。该展示称为“气泡视图”。
在气泡视图中,用户能够选择图像上的斑点,并使用用于该激光扫描的点云数据,取回该位置的三维坐标。通过选择两个点,用户能够测量距离。
一种类型的应用能够覆盖气泡视图中的三维CAD模型。因为应用已知气泡视图中的点的三维位置,所以该应用能够将CAD模型的合适部分隐藏在气泡视图后面。当设计该设施的新区域时,该组合图像可能有用。
气泡视图的吸引人的特征在于,看起来逼真。现实源自于在扫描器位置捕获的图像。然而,气泡视图的限制在于,仅能够针对激光扫描器所处的位置,产生气泡视图。用户能够选择气泡视图,并且旋转到左右或上下,但是该用户无法向前、向后、横向或纵向移动以从不同的视点观察环境。
为了允许自由移动,一些软件应用利用来自多个扫描的组合点云进行工作。使用这种应用,用户选择设施内的位置和观察方向。然后,应用从用户的视角,在该位置周围显示组合点云中的各点。用户能够移动观察位置和方向,以从不同的视角观看点。
一些应用能够在与组合点云相同的三维空间中显示CAD模型。然后,用户能够测量CAD模型中的位置与点云中的点之间的距离。用户还能够确定点云中的部分是否与CAD模型的部分交叉。
尽管显示组合点云使得用户能够从多于一个视角观察各点,但是该方法可能具有一个或更多个缺点。
显示单独的点导致了计算上的昂贵。在表现近距离的扫描表面时可能出现缝隙,因此难以辨别表面。
发明内容
根据本发明的第一方面,提供了一种对三维激光扫描数据的图像进行渲染的方法。所述方法包括:将给定扫描的一组激光扫描数据提供为球面置换映射;以及通过对所述球面置换映射采样来生成细分图案。所述方法包括使用所述细分图案来渲染所述图像。
通过将给定扫描的激光扫描数据保存为一组点(与聚合多个扫描的激光扫描数据相反),并且通过利用如下事实而能够有效地和/或快速地渲染激光扫描数据的图像:能够以图形系统能够直接处理的置换映射的形式来提供激光扫描数据。这在组合来自多个扫描的图像时尤其有益,这是因为能够独立地处理各扫描,并且能够容易地将来自不同扫描的图像组合到公共缓冲器中。这使得能够不仅对静止图像、而且对例如当用户“走过”环境时的运动图像进行有效/快速地渲染。
所述给定扫描的所述一组激光扫描数据提供为所述球面置换映射可以包括:接收由给定位置处的激光扫描器生成的一组激光扫描数据;以及将给定方位角和给定仰角处的给定激光扫描点的测距值从所述激光扫描数据复制到与所述给定方位角和所述给定仰角相对应的纹素位置处的至少二维纹理(或更高维纹理)的对应纹素中。
所述方法可以包括:图形处理单元(GPU)生成所述细分图案。然而,所述方法可以包括中央处理单元(CPU)生成所述细分图案。
可以使用微软(RTM)DirectX(RTM)11(或更高版本)或OpenGL 4.4(或更高版本)应用编程接口(API)来配置所述处理单元。
所述方法还可以包括:识别所述球面置换映射中的邻近点之间的间断;以及标记所述邻近点。标记所述邻近点可以包括:将置换值设置为预先限定的数字,例如0或-1。
所述方法还可以包括:取决于所述球面置换映射来生成法线映射。所述置换映射和法线映射可以被组合在一个纹理中。所述一个纹理可以包括至少四个通道。
生成所述法线映射包括:计算所述球面置换映射中的各点的法线,并将所述法线存储在法线映射中。所述法线可以包括第一向量分量值、第二向量分量值和第三向量分量值。
所述方法还可以包括:依赖于所述球面置换映射来生成混合纹理。所述混合纹理可以包括混合纹素的阵列,各混合纹素包括依赖于距间断的距离的值。
所述方法还可以包括:生成给定扫描的补片映射,所述补片映射包括多个补片。
所述补片映射可以包括多边形补片,各补片具有三个或更多个顶点。所述补片可以是相同形状。所述补片可以是相同大小的。所述补片可以是矩形。如果所述补片为矩形,则所述补片映射可以包括对顶点的位置。
补片的位置、形状和/或大小可以依赖于球面置换映射中的间断。
所述补片映射可以包括各补片的相对细分等级。所述方法可以包括:依赖于间断来设置给定补片的所述相对细分等级。所述方法可以包括基于横跨给定补片的法线变化,设置所述给定补片的所述相对细分等级。
所述方法可以包括:依赖于给定补片的观察位置和/或能见距离,计算所述给定补片的绝对细分等级。
所述方法还可以包括:确定形成所述细分图案中的三角形的一部分的顶点是否被标记为在间断上或与间断邻近;以及依赖于确定所述顶点无效,剔除(或“丢弃”)所述三角形。
所述方法还可以包括:生成针对扫描的一组像素;以及进行深度测试。
所述方法可以包括:依赖于像素的法线来对像素着色。所述方法可以包括:依赖于图像的相应部分中的强度和/或颜色来对像素着色。
所述方法可以包括:提供多于一组的激光扫描数据,各组激光扫描数据与各自的扫描相对应。各组激光扫描数据被提供为各自的球面置换映射。所述方法可以包括:组合来自不同扫描的渲染图像。组合来自不同扫描的渲染图像可以包括使用深度缓冲器。
根据本发明的第二方面,提供了一种计算机程序,所述计算机程序包括用于进行所述方法的指令。
根据本发明的第三方面,提供了一种存储所述计算机程序的计算机可读介质或非易失性计算机可读介质。
根据本发明的第四方面,提供了一种计算机系统,所述计算机系统包括:存储器;以及至少一个处理单元。所述存储器将给定扫描的一组激光扫描数据存储为球面置换映射,并且所述至少一个处理单元被配置为通过对所述球面置换映射采样来生成细分图案。
所述至少一个处理单元可以包括至少一个图形处理单元。所述至少一个处理单元可以包括至少一个中央处理单元。所述至少一个处理单元可以包括一个处理单元,例如一个图形处理单元。
能够使用微软(RTM)DirectX(RTM)11(或更高版本)应用编程接口来配置所述至少一个处理单元。可以使用OpenGL应用编程接口来配置所述至少一个处理单元。
附图说明
现在,将通过示例,参照附图来描述本发明的某些实施例,其中:
图1是用于获得和处理激光扫描数据并渲染图像的系统的示意性框图;
图2是能够用来处理激光扫描数据并渲染图像的计算机系统的示意性框图;
图3是处理激光扫描数据的方法的处理流程图;
图4例示了球面置换映射的生成;
图5示出了两个表面之间的间断;
图6示出了更新球面置换映射以标记间断;
图7例示了法线映射的生成;
图8示出了混合映射的生成;
图9例示了规则的矩形补片的布置;
图10例示了不规则的矩形补片的布置;
图11例示了不规则的非矩形补片的布置;
图12示出了补片映射;
图13示出了将相对细分数据添加到补片映射;
图14是图形流水线和图形存储器的示意性框图;
图15例示了外壳着色器的输出;
图16例示了补片的细分等级;
图17例示了细分着色器的输出和域着色器的输入;
图18例示了使用包括置换映射和法线映射的纹理的域着色器的操作;
图19例示了来自域着色器的顶点列表的输出;
图20示出了剔除(cull)无效三角形的几何着色器的操作;
图21例示了光栅器的操作;
图22例示了像素着色器的操作;
图23是深度测试的处理流程图;
图24例示了扫描的并行处理;
图25例示了从多个扫描生成的组合点云;
图25a是图25中示出的部分点云的放大图;
图26示出了从图25中示出的点云的单独扫描生成的组合细分图像;
图26a是图26中示出的部分细分图像的放大图;
图26b是图26中示出的另一部分细分图像的放大图;
图27示出了使用图26中示出的细分而生成的组合渲染图像;以及
图28从不同的视点示出了从图25中示出的点云的单独扫描生成的组合渲染图像。
具体实施方式
系统概要
参照图1,示出了用于生成和处理激光扫描数据并渲染图像的系统1。
系统1包括用于勘测环境3的一个或更多个三维激光扫描器2,环境3包括大量目标表面4。激光扫描器2或各激光扫描器2包括激光扫描单元5、可选的照相机7、以及板上存储器9,激光扫描单元5生成激光扫描数据6(这里简称为“扫描数据”),可选的照相机7能够用来生成例如JPEG文件形式的图像数据8,板上存储器9用于存储数据6、8。激光扫描器2或各激光扫描器2包括处理器10和存储器11,处理器10和存储器11能够用来处理激光扫描数据6,以例如将数据格式化。一个单独的计算机系统(未示出)能够用来处理数据。
激光扫描单元5通过如下处理针对点生成扫描数据6的元素:在给定方向(即,以给定的横向角和给定的纵向角)发射脉冲激光束12,感测从目标表面4反射回激光扫描器2的反射束13,并且基于激光束12和13的飞行时间来确定到目标表面4的测距。通过横向和纵向扫描激光束12,能够获取一组扫描数据6,以在扫描器2周围构建一组点。以一组笛卡尔坐标的形式提供扫描数据6中的各点,即以(x,y,z)来表达各点。通过方位角和仰角来整理数据组6中的点。
扫描数据6以及图像数据8(可选)被供给至计算机系统15,计算机系统15包括扫描数据处理模块16,扫描数据处理模块16生成纹理18、19、20、21的组17、组合成单个纹理22的一些纹理、以及各扫描的补片映射23。计算机系统15还包括用于存储数据的一个或更多个硬驱动器形式的存储器24。硬驱动器可以是硬盘驱动器、固态驱动器、光驱动器或其他形式的合适存储器。
如稍后将更加详细地描述的那样,纹理组17包括从扫描数据6获得的球面置换映射18(这里还称为“深度映射”)和法线映射19。如稍后将更加详细地描述的那样,置换映射18和法线映射19被组合在单个四通道纹理22(这里称为“组合纹理”)中。
纹理组17可以包括混合映射20。纹理组17可以包括从图像数据8获得的颜色映射21。
计算机系统15包括用户输入设备25(诸如鼠标和/或键盘)、渲染系统26和显示器27,显示器27用于从用户经由用户输入设备25供给的视点29显示图像28。渲染系统26使用从一个或更多个不同扫描获得的纹理组17和补片映射23,产生三角形三维表面,并且渲染系统26从任意视点实时渲染表面,将从扫描获得的表面组合在图像28中。
可以在多个不同的计算机系统中实现扫描数据处理模块16和渲染系统26。例如,可以通过激光扫描器12全部或部分实现扫描数据处理模块16。可替换地,激光扫描器2可以生成置换映射18,第一计算机系统可以生成其他纹理19、20、21和补片映射23,或者仅生成补片映射23,并且第一计算机系统可以将纹理18、19、20、21和补片映射23供给至第二计算机系统,第二计算机系统实现渲染系统26。
此外,参照图2,更加详细地示出计算机系统15。
计算机系统15包括通过总线37可操作地连接的一个或多个中央处理单元(CPU)31、系统存储器32、例如图形卡形式的图形模块33、以及输入/输出(I/O)接口36,图形模块33包括图形处理单元(GPU)34和图形存储器35(可以称为“视频RAM”),一个或多个中央处理单元(CPU)31具有相应的存储器缓存器(未示出)。合适的图形模块33的示例为具有1GB视频RAM的NVIDIA(RTM)GeForce 460GPU。
I/O接口36可操作地连接至总线和/或网络接口38(诸如USB接口或WLAN接口),网络接口38用于从扫描器2或各扫描器2接收扫描数据6。I/O接口36还可操作地连接至用户输入设备25、以及例如以一个或更多个硬盘驱动器和/或固态驱动器形式的存储器24。一些外围设备(例如可移动存储器)和其他计算机构件未被示出。计算机系统15可以具有与图2所示的配置不同的配置。
以软件实现扫描处理模块16。用于实现扫描处理模块16的计算机代码39被保持在存储器24中,并被加载到存储器32中以通过CPU 31来执行。
优选使用GPU来实现渲染系统26,从而利用GPU的增强图形处理能力,尤其是细分。然而,可以使用一个或更多个CPU来实现渲染系统26。
如稍后将更加详细地描述的那样,渲染系统26实现包括多个模块61、62、63、64、65、66、67、68(图14)的图形流水线60(图14),这些模块包括可编程的固定功能着色器61、62、63、64、65、67、68和光栅器66。
扫描处理
现在将参照图1、图2和图3,更加详细地描述扫描数据处理模块16的操作。
模块16经由总线或网络(未示出)或便携存储器(未示出)从扫描器2加载用于扫描的一组扫描数据6,和/或从存储器24加载用于扫描的一组扫描数据6(步骤S1)。扫描数据6处于笛卡尔坐标中,因此模块16将扫描数据6转换并存储为球面置换映射18(步骤S2)。
此外,参照图4,示出了球面坐标系41。球面坐标系41包括原点42(即,扫描器2中的基准点)、以及横向基准轴43和纵向基准轴44。如图4所示,扫描器2捕获原点42与目标表面4(图1)上的点45之间的距离(或“测距”)di,j。
用于扫描的扫描数据6被复制到纹理22中。纹理22采取(u,v)映射的形式,(u,v)映射包括纹理元素(或“纹素”)46的二维阵列。各纹素46包括第一元素461、第二元素462、第三元素463和第四元素464。
如之前所描述的那样,纹理22具有四个通道。第一通道存储置换映射18,第二通道、第三通道和第四通道存储法线映射19。
纹理22的横向轴u与激光扫描器2的横向角(或“方位角”)成比例。纹理22的纵向轴v与激光扫描器2的纵向角(或“仰角”)成比例。各纹素46将扫描中的点的测距值存储为与其(u,v)位置相对应的方位角和仰角的深度di,j。因此,当测距值被存储在纹理22中时,测距值提供了激光扫描的球面置换映射18。
能够以类似的方式,将RGB分量值形式的图像数据8复制到颜色映射21中。
参照图1、2、3、5和6,扫描数据处理模块16检查纹素46,以通过查找具有超过特定阈值ΔdTH的深度差Δd的邻近纹素46,来确定在置换映射18中是否存在任何间断,如果存在间断,则扫描数据处理模块16标记间断,使得该位置将不被细分(步骤S3)。通过使用预先定义的数字(例如0或-1)来标记间断。
置换映射18为球面,并且取自激光扫描器2的视点。因此,球面置换映射18的邻近纹素46之间的间断,表示如下区域或线47,在该区域或线47处,激光扫描器2已从一个表面481移动到另一表面482。因此,不应当在该区域中描绘表面。
例如,如图5所示,两个邻近的扫描点落在边缘47的两侧。如图6所示,相应的纹素46例如分别具有深度值855和22。阈值ΔdTH例如可以是300。因此,深度差Δd=855-22=833,并且Δd>ΔdTH,因此模块16通过将这两个值设置为等于零,来标记间断。
能够比较u和/或v方向的邻近纹素。
参照图1、2、3和7,扫描数据处理模块16根据置换映射18生成法线映射19,并存储法线映射19(步骤S4)。
针对置换映射18中的各纹素46,模块16根据由纹素46表示的球面坐标来计算笛卡尔坐标。该模块通过在笛卡尔坐标中取得与纹素46邻近的横向相邻纹素46之间的第一向量、与纵向相邻纹素46之间的第二向量的向量积,来计算给定纹素46(在图7中阴影示出)的法线49。模块16不会横跨间断来计算法线49。
模块16将纹素46中的法线49的x分量、y分量和z分量(nx,ny,nz),存储在第二元素462、第三元素463和第四元素464中。
参照图1、2、3和8,扫描数据处理模块16能够可选地生成混合纹理20,混合纹理20包含用来对间断附近的表面的边缘进行平滑的信息(步骤S5)。
混合纹理20中的各纹素50包含位于0与1之间的范围中的混合值s。
扫描数据处理模块16识别置换映射18中的与沿着间断的点相对应的纹素46,并将混合纹理20中的相应纹素50(即,具有相同值u和v)设置为具有混合值0。扫描数据处理模块16还生成通过混合纹理20逐渐传播的混合值,即逐渐增大的值。例如,如图8所示,值0.5被赋予作为间断的第一最近邻居的纹素50,值0.8被赋予作为第二最近邻居的纹素50,并且值1被赋予作为第三最近邻居的纹素50。
参照图1、2、3和9,扫描数据处理模块16将扫描分成补片51,并存储补片映射23(步骤S6)。
各补片51限定(u,v)坐标中的扫描纹理的区域。各补片具有一组顶点52。
补片51可以是任意形状,并且可以被有规则地或不规则地分布在扫描中。补片51的形状和位置可以预先确定,或者基于扫描的任意方面,例如间断的位置或法线的变化。
例如,图9示出了形状和大小均相同的矩形补片51的布置。
在另一示例中,图10示出了对间断47的位置加以考虑的不同大小的矩形补片51的结构。例如,如图10所示,替代使用固定大小的补片51,扫描数据处理模块16可以根据在补片51内是否发现间断,将更大的补片51分成更小的补片511、512、513、514、515。
在又一示例中,图11示出了如下布置:扫描数据处理模块16生成具有对分支间断47(例如与分支间断47对齐)加以考虑的边缘的非矩形补片516、517、518、519。为清楚起见,补片516、517、518、519的外边缘被截断示出,使得这些外边缘表现为直的纵向或横向边缘。然而,将会意识到,补片不需要被截断并且可以具有不规则轮廓,例如如图11中的补片516的链所示。
此外,参照图12,针对各补片51,一组元素54存储在各补片51的补片映射23中,各元素54包括补片顶点52的位置。在矩形补片51(例如如图9中所示)的情况下,可以仅使用两个顶点52(例如左上和右下顶点52)来指定补片51。然而,尤其针对不规则形状补片,可以存在多于两个元素54。
参照图1、2、3和13,模块16计算各补片51的相对细分等级55(步骤S7)。
相对细分等级55表示补片51将相对于其他补片51被细分多少。稍后,在应用依赖于视点的因素或其他因素之后,计算绝对细分等级。相对细分等级55可以被预先确定,或者基于扫描的任意方面,例如间断的位置或法线的变化。
置换映射18、法线映射19、混合纹理20和补片映射23可以针对每个扫描而被产生一次,并被存储用于后续使用。
渲染
参照图1、2和14,扫描数据处理模块16将各扫描的纹理18、19、20和补片映射23加载到渲染系统26中。渲染系统26用来使用补片映射23中的信息来产生扫描的细分表面。可以使用支持细分的任意渲染系统。优选地,使用能够每秒或以更高速率处理1亿个三角形的渲染系统。渲染系统能够在CPU或GPU上运行。
渲染系统26采用运行在GPU 34上的微软(RTM)DirectX 11(RTM)。然而,可以使用其他图形系统,例如OpenGL 4.x。
以能够被渲染系统26有效处理的形式存储纹理18、19、20和补片映射23。
纹理18、19、20被存储为二维纹理资源,并且补片映射23被存储为具有一个控制点补片列表的拓扑结构的顶点缓冲器。如之前所描述的那样,置换映射18和法线映射19被组合为具有四个通道的组合纹理22。
纹理18、19、20和顶点缓冲器23(即补片映射23)被发送至GPU 34。
参照图14,示出了用于图形系统的图形流水线60。
图形流水线60包括顶点着色器61、外壳着色器62、细分着色器63(这里还简称为“细分器”)、域着色器64、几何着色器65、光栅器66、像素着色器67和输出合并级68,除了其他之外,输出合并级68还与深度缓冲器69(还称为“z缓冲器”)协同执行深度测试。
在OpenGL中,外壳着色器被称为“细分控制着色器”、细分着色器被称为“原始生成器”、域着色器被称为“细分评估着色器”,并且像素着色器被称为“碎片着色器”。
参照图14和15,通过外壳着色器62处理顶点缓冲器23中的各补片51。外壳着色器62计算各补片51的绝对细分等级70。细分等级70可以被预先确定,或者基于一个或更多个因素,诸如从视点29到补片51的距离或其能见距离。可以考虑补片51的相对细分等级55。
在该示例中,基于视点28和相对细分等级55来计算各补片51的绝对细分等级70。外壳着色器62还调整补片51的边缘周围的细分等级,使得该细分等级与相邻补片51的细分等级匹配。这产生了横跨各补片51的连续细分。
此外,参照图16和17,细分着色器63是针对各补片51产生相应细分图案71的功能固定的模块。
细分着色器63基于由外壳着色器62计算出的绝对细分等级70,来生成细分图案71(这里称为“细分补片”)。细分图案71由三角形72构成。细分图案71中的点73包含这些点在组合纹理22内的其(u,v)坐标。
如图17所示,细分着色器63输出点列表形式的细分图案71,点列表列出了构成各补片51的三角形72的点73的坐标。各(u,v)点73被一次一个地发送至域着色器64。
此外,参照图18和19,通过域着色器64处理各补片51中的各点73。域着色器64对组合后的深度/法线纹理22采样,并将细分点投影到三维空间中。
域着色器64计算细分图案71中的各点73在补片51中的位置。域着色器64在点73的(u,v)坐标处对组合后的深度/法线纹理22采样,以取回深度和法线的值。如果样本包括间断旁边的纹素46,则该点被标记为无效。
域着色器64使用补片51中的信息,根据(u,v)坐标计算方位角和仰角。然后,域着色器64将球面坐标(即,方位角、仰角、深度)直接地或阶段性地(如图18所示)转换为观察坐标74,即,将球面坐标转换为扫描坐标系中的笛卡尔坐标75,然后域着色器64将位置和法线变换到世界坐标中,之后变换到观察坐标74中。以顶点列表76的形式输出坐标74。
域着色器64通过在(球面)置换映射19中指定的深度,有效地置换球面上的点。
参照图20,然后,通过几何着色器65处理细分补片71中的各三角形72。几何着色器65剔除间断处的三角形72。
几何着色器65确定三角形72是否包含任何无效顶点77。如果顶点74位于间断旁边,则顶点74无效。如果存在无效顶点77,则几何着色器65丢弃三角形72,即丢弃无效三角形78。几何着色器65还确定三角形72是否处于向激光扫描位置过于倾斜的角度。如果是,则也丢弃三角形72。几何着色器65输出更新后的顶点列表79。
参照图21,光栅器66将更新后的顶点列表79中的各三角形72,转换为包括像素81的光栅数据80。各像素81包括深度82的值。
然后,通过像素着色器67处理各光栅化三角形72。
参照图22,像素着色器67对混合纹理20采样,以确定像素81是否过于接近间断47(图5)。如果像素81过于接近间断,则丢弃该像素。像素着色器67对组合深度/法线纹理22采样,以取回像素81处的法线49(图7)。像素着色器67将法线49(图7)变换到世界空间中的向量(未示出)中。像素着色器67计算像素81的颜色83,并输出光栅数据84以包括各像素81的深度82和颜色83。
参照图14和23,当多个扫描被渲染到一个图形中时,可以使用深度缓冲器69来组合扫描数据。
像素着色器67能够通过以给定位置和偏移来对深度82采样,来测量深度的质量。像素着色器67能够偏袒相同的屏幕坐标处的更高质量的样本。像素着色器67能够使用混合纹理20和/或组合后深度/法线纹理22中的信息,来确定样本的质量。
除了其他之外,输出合并级68还进行深度测试。
此外,参照图24,将各像素81与深度缓冲器69中的相应像素相比较(步骤S11、S12和S13)。如果输入像素81具有比存储在深度缓冲器69中的相应像素低的深度值,则将输入像素81写入缓冲器69(步骤S14)。如果输入像素81具有比存储在深度缓冲器69中的相应像素高的深度值,则丢弃输入像素81(步骤S15)。
能够将通过几个扫描生成的像素数据写入同一深度缓冲器69,并由此,能够形成包括来自几个扫描的数据的图像。
参照图25至28,在处理期间的不同阶段,针对一组扫描例示了处理激光扫描数据并渲染图像的方法。
图25是从多个扫描生成的点云的图像91。图25a是图25所示的图像91的部分91a的放大图。
图像91示出了制炼厂的内部,除了其他之外,制炼厂的内部还包括地板92、天花板93、存储罐94、一排三个反应器皿95、各种管道96、一排四个控制面板97、从天花板93悬挂的线缆盘98、照明单元99(或“发光体”)以及一排四个托盘型液体存储容器100。
图25a是中间反应器皿95、管道96和相应控制面板97的更详细的图。图像91、91a由点云点45形成。在该情况下,各点45具有在扫描时捕获的各自颜色。
如图25a所示,即使相对近的物体(例如反应器皿95)位于相对远的物体(例如控制面板97)前方、并且因此应当隐藏该相对远的物体,该相对远的物体也可见。当图像被放大时,该效果变得更加显著。
图26示出了从图25中所示的点云的单独扫描而生成的组合后的细分图像101。图26a和26b是图26所示的图像111的部分111a、111b的放大图。
参照图25a和26b,使用来自点云的点45来形成由三角形72构成的细分图案71。
图26b示出了具有不同大小的三角形72,换句话说,三角形72具有不同细分等级。
由于三角形72尚未被光栅化并由此未被填充,因此,应当被隐藏的物体(例如反应器皿95)仍然透明。
图27示出了使用细分生成的组合后的渲染图像28、111。
如图27所示,相对远的物体(例如控制面板97)被相对近的物体(例如反应器皿95)隐藏。
如之前所描述的那样,渲染系统26(图1)能够使用多个扫描来实时地渲染图像。此外,系统26(图1)使得能够改变位置并生成从不同位置观察的细分图像。能够递增地或连续地改变位置,使得用户能够“走”过或“飞”过所勘测的环境。
图28示出了另一组合后的渲染图像28、111’,从不同的视点根据图25所示的同一点云,来生成该组合渲染图像28、111’。
如图28所示,图像111’从另一视点示出了同一物体,例如控制面板97和反应器皿95。从图28所示的门112的前方的视点获取图27中示出的图像111。
图28示出了当执行扫描时扫描器2(图1)的位置。各黑暗圆形区域与扫描器2下方的、扫描器2未记录点的区域相对应。
点云图像91(图25)与渲染图像111’(图28)的比较,示出了与显示从多个扫描生成的点云的图像91相关联的视觉假象。渲染图像111’示出了控制面板97的正面。各正面带有制造商标签113和警告标记114。然而,当这些标签113和标记114在现实世界中不可见时,在点云图像91中可见。
通过不将单独扫描的扫描数据聚合为一个更大组的扫描数据,系统能够利用收集扫描数据的顺序。各组扫描数据可以被视为球面置换映射,并且可以被采样以使用计算效率高的技术生成细分图案。能够进行诸如光栅化的进一步的图形处理,并且然后仅组合来自不同扫描的图像。由此,尤其在使用GPU的图形能力的情况下,系统使得能够有效和/或快速渲染扫描数据的图像。
将会意识到,可以对以上描述的实施例进行各种变型。这种变型可以包含等效和如下其他特征,这些特征在激光扫描系统和/或图形处理系统、以及这些系统的构成部分的设计、制造和使用上是已知的,并且可以使用这些特征来替代这里已经描述的特征,或者除了这里已经描述的特征以外还可以使用这些特征。一个实施例的特征可以通过另一实施例的特征来替代或补充。
尽管在本申请中,针对特征的特定组合撰写了权利要求,但是应当理解,本发明的公开范围还包括这里明确或隐含公开的任何新颖的特征、或任何新颖的特征组合、或任何特征和特征组合的概括,而不论是否涉及与任何权利要求中当前所要求的相同的发明,并且不论是否缓解了任何或全部与本发明相同的技术问题。申请人在此给出通知,在本申请的诉讼或从本申请导出的任何其他申请的诉讼期间,可以对这些特征和/或这些特征的组合撰写新的权利要求。
Claims (12)
1.一种对三维激光扫描数据的图像进行渲染的方法,所述方法包括:
将用于一组扫描的多组激光扫描数据提供为一组球面置换映射,其中,各组激光扫描数据对应于各自的扫描;以及
图形处理单元通过对所述球面置换映射进行采样来生成包括一组三角形的细分图案,其中,由所述图形处理单元执行所述细分图案的生成;以及
将各三角形转换为包括像素的光栅数据,各像素包括深度值;
其中,将通过不同的扫描生成的像素数据写入同一深度缓冲器。
2.根据权利要求1所述的方法,其中,将用于一组扫描的多组激光扫描数据提供为一组球面置换映射包括:
接收由给定位置处的多个激光扫描器中的各激光扫描器生成的各组激光扫描数据;以及
将给定方位角和给定仰角处的给定激光扫描点的测距值从各组激光扫描数据复制到与所述给定方位角和所述给定仰角相对应的纹素位置处的至少二维纹理的对应纹素中。
3.根据权利要求1或2所述的方法,所述方法还包括:
识别各球面置换映射中的邻近点之间的间断;以及
标记所述邻近点。
4.根据权利要求1或2所述的方法,所述方法还包括:
依赖于该组球面置换映射来生成一组法线映射。
5.根据权利要求4所述的方法,其中,所述生成一组法线映射包括:计算该组球面置换映射中的各点的法线,并将所述法线存储在一组法线映射中。
6.根据权利要求1或2所述的方法,所述方法还包括:
依赖于各球面置换映射来生成混合纹理。
7.根据权利要求1或2所述的方法,所述方法还包括:
生成给定扫描的补片映射,所述补片映射包括多个补片。
8.根据权利要求7所述的方法,其中,所述补片映射包括各补片的相对细分等级,并且所述方法包括:
依赖于间断来设置给定补片的所述相对细分等级。
9.根据权利要求1或2所述的方法,所述方法还包括:
确定形成所述细分图案中的三角形的一部分的顶点是否被标记为在间断上或与间断邻近;
依赖于确定所述顶点无效,剔除所述三角形。
10.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现根据权利要求1-9任一项所述的方法的步骤。
11.一种计算机系统,所述计算机系统包括:
存储器;
至少一个处理单元,所述至少一个处理单元包括至少一个图形处理单元;
其中,所述存储器将用于一组扫描的多组激光扫描数据存储为一组球面置换映射,其中,各组激光扫描数据对应于各自的扫描;
并且所述至少一个图形处理单元被配置为通过对所述球面置换映射进行采样来生成包含一组三角形的细分图案,以及将各三角形转换为包括像素的光栅数据,各像素包括深度值;
其中,将通过不同的扫描生成的像素数据写入同一深度缓冲器。
12.根据权利要求11所述的计算机系统,其中,能够使用微软RTM DirectX RTM 11应用编程接口来配置所述至少一个图形处理单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1322113.0 | 2013-12-13 | ||
GB1322113.0A GB2518019B (en) | 2013-12-13 | 2013-12-13 | Image rendering of laser scan data |
PCT/GB2014/053616 WO2015087055A1 (en) | 2013-12-13 | 2014-12-05 | Image rendering of laser scan data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105830126A CN105830126A (zh) | 2016-08-03 |
CN105830126B true CN105830126B (zh) | 2019-09-17 |
Family
ID=50030919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480068372.6A Active CN105830126B (zh) | 2013-12-13 | 2014-12-05 | 激光扫描数据的图像渲染 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10467805B2 (zh) |
EP (1) | EP3080781B1 (zh) |
JP (1) | JP6260924B2 (zh) |
CN (1) | CN105830126B (zh) |
AU (1) | AU2014363213B2 (zh) |
GB (1) | GB2518019B (zh) |
RU (1) | RU2679964C1 (zh) |
WO (1) | WO2015087055A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2518019B (en) | 2013-12-13 | 2015-07-22 | Aveva Solutions Ltd | Image rendering of laser scan data |
GB2520822B (en) * | 2014-10-10 | 2016-01-13 | Aveva Solutions Ltd | Image rendering of laser scan data |
US10792566B1 (en) | 2015-09-30 | 2020-10-06 | Electronic Arts Inc. | System for streaming content within a game application environment |
US10726611B1 (en) * | 2016-08-24 | 2020-07-28 | Electronic Arts Inc. | Dynamic texture mapping using megatextures |
EP3315907A1 (de) * | 2016-10-27 | 2018-05-02 | Leica Geosystems AG | Verfahren zur visuellen darstellung von scandaten |
US10489967B2 (en) * | 2017-02-22 | 2019-11-26 | Microsoft Technology Licensing, Llc | Indexed value blending for use in image rendering |
US10096133B1 (en) | 2017-03-31 | 2018-10-09 | Electronic Arts Inc. | Blendshape compression system |
US10878540B1 (en) | 2017-08-15 | 2020-12-29 | Electronic Arts Inc. | Contrast ratio detection and rendering system |
US10535174B1 (en) | 2017-09-14 | 2020-01-14 | Electronic Arts Inc. | Particle-based inverse kinematic rendering system |
KR101856426B1 (ko) * | 2017-11-27 | 2018-06-20 | 세종대학교산학협력단 | 3차원 기하 증강 방법 및 그 장치 |
US10846914B2 (en) * | 2018-01-11 | 2020-11-24 | Sony Interactive Entertainment Inc. | Back-facing patch culling with displacement |
US10860838B1 (en) | 2018-01-16 | 2020-12-08 | Electronic Arts Inc. | Universal facial expression translation and character rendering system |
US10733784B2 (en) * | 2018-04-27 | 2020-08-04 | Becton, Dickinson And Company | Methods and apparatuses for image control and display of particle analyzer images |
JP7223610B2 (ja) * | 2019-03-22 | 2023-02-16 | 任天堂株式会社 | 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法 |
US10902618B2 (en) | 2019-06-14 | 2021-01-26 | Electronic Arts Inc. | Universal body movement translation and character rendering system |
US11972353B2 (en) | 2020-01-22 | 2024-04-30 | Electronic Arts Inc. | Character controllers using motion variational autoencoders (MVAEs) |
US11504625B2 (en) | 2020-02-14 | 2022-11-22 | Electronic Arts Inc. | Color blindness diagnostic system |
US11648480B2 (en) | 2020-04-06 | 2023-05-16 | Electronic Arts Inc. | Enhanced pose generation based on generative modeling |
US11232621B2 (en) | 2020-04-06 | 2022-01-25 | Electronic Arts Inc. | Enhanced animation generation based on conditional modeling |
GB2593819B (en) * | 2020-09-18 | 2022-03-30 | Off World Live Ltd | Efficient graphical processing in 360-degree spherical space |
US11830121B1 (en) | 2021-01-26 | 2023-11-28 | Electronic Arts Inc. | Neural animation layering for synthesizing martial arts movements |
US20230027890A1 (en) * | 2021-05-03 | 2023-01-26 | University Of Southern California | Systems and methods for physically-based neural face shader via volumetric lightmaps |
CN113269860B (zh) * | 2021-06-10 | 2022-10-04 | 广东奥普特科技股份有限公司 | 一种高精度三维数据实时渐进式渲染方法和系统 |
US11887232B2 (en) | 2021-06-10 | 2024-01-30 | Electronic Arts Inc. | Enhanced system for generation of facial models and animation |
US11670030B2 (en) | 2021-07-01 | 2023-06-06 | Electronic Arts Inc. | Enhanced animation generation based on video with local phase |
US11562523B1 (en) | 2021-08-02 | 2023-01-24 | Electronic Arts Inc. | Enhanced animation generation based on motion matching using local bone phases |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096907A (zh) * | 2009-12-11 | 2011-06-15 | 英特尔公司 | 图像处理技术 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790086A (en) * | 1995-01-04 | 1998-08-04 | Visualabs Inc. | 3-D imaging system |
FR2735253B1 (fr) * | 1995-06-08 | 1999-10-22 | Hewlett Packard Co | Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees |
JPH09330423A (ja) * | 1996-06-13 | 1997-12-22 | Fujitsu Ltd | 三次元形状データ変換装置 |
US6420698B1 (en) * | 1997-04-24 | 2002-07-16 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three-dimensional objects |
US6300960B1 (en) * | 1997-08-04 | 2001-10-09 | Pixar Animation Studios | Realistic surface simulation in computer animation |
US6608913B1 (en) | 2000-07-17 | 2003-08-19 | Inco Limited | Self-contained mapping and positioning system utilizing point cloud data |
US6701006B2 (en) | 2002-06-26 | 2004-03-02 | Nextengine, Inc. | Apparatus and method for point cloud assembly |
JP2005208868A (ja) | 2004-01-22 | 2005-08-04 | Hitachi Eng Co Ltd | 点群データ比較方法、点群データ比較装置、点群データ取得装置および点群データ比較システム |
US7643966B2 (en) * | 2004-03-10 | 2010-01-05 | Leica Geosystems Ag | Identification of 3D surface points using context-based hypothesis testing |
DE602007006811D1 (de) | 2007-10-09 | 2010-07-08 | Agfa Healthcare Nv | Verfahren und Vorrichtung zur Volumendarstellung medizinischer Datensätze |
US20100079454A1 (en) * | 2008-09-29 | 2010-04-01 | Legakis Justin S | Single Pass Tessellation |
GB0908200D0 (en) | 2009-05-13 | 2009-06-24 | Red Cloud Media Ltd | Method of simulation of a real physical environment |
EP2251832A1 (en) | 2009-05-14 | 2010-11-17 | Alcatel Lucent | Method for generating a 3-dimensional model of an object |
TWI471821B (zh) | 2009-11-17 | 2015-02-01 | Inst Information Industry | A system, a method, and a recording medium for establishing a correlation for a plurality of images |
JP5430456B2 (ja) | 2010-03-16 | 2014-02-26 | キヤノン株式会社 | 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置 |
WO2012089263A1 (en) * | 2010-12-30 | 2012-07-05 | Tele Atlas Polska Sp.Z.O.O. | System and method for generating textured map object images |
JP5711039B2 (ja) * | 2011-04-27 | 2015-04-30 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム |
US8793107B2 (en) * | 2011-12-01 | 2014-07-29 | Harris Corporation | Accuracy-based significant point derivation from dense 3D point clouds for terrain modeling |
WO2013142819A1 (en) | 2012-03-22 | 2013-09-26 | University Of Notre Dame Du Lac | Systems and methods for geometrically mapping two-dimensional images to three-dimensional surfaces |
US9536345B2 (en) * | 2012-12-26 | 2017-01-03 | Intel Corporation | Apparatus for enhancement of 3-D images using depth mapping and light source synthesis |
GB2518019B (en) | 2013-12-13 | 2015-07-22 | Aveva Solutions Ltd | Image rendering of laser scan data |
-
2013
- 2013-12-13 GB GB1322113.0A patent/GB2518019B/en active Active
-
2014
- 2014-12-05 EP EP14809691.0A patent/EP3080781B1/en not_active Not-in-force
- 2014-12-05 US US15/103,114 patent/US10467805B2/en active Active
- 2014-12-05 CN CN201480068372.6A patent/CN105830126B/zh active Active
- 2014-12-05 RU RU2016127919A patent/RU2679964C1/ru active
- 2014-12-05 AU AU2014363213A patent/AU2014363213B2/en active Active
- 2014-12-05 WO PCT/GB2014/053616 patent/WO2015087055A1/en active Application Filing
- 2014-12-05 JP JP2016533620A patent/JP6260924B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096907A (zh) * | 2009-12-11 | 2011-06-15 | 英特尔公司 | 图像处理技术 |
Non-Patent Citations (3)
Title |
---|
A Fast and Efficient Projection-Based Approach for Surface Reconstruction;Gopi M et al;《Computer Graphics and Image Processing, 2002. Proceedings. XV Brazilian Symposium on》;20021010;第179-186页 |
Automated reconstruction of 3D models from real environments;V. Sequeira et al;《ISPRS Journal of Photogrammetry and Remote Sensing》;19990201;第54卷(第1期);第6-8页 |
QSplat: A Multiresolution Point Rendering System for Large Meshes;Szymon Rusinkiewicz et al;《Proceedings of the 27th annual conference on Computer graphics and interactive techniques》;20000728;第2.1节 |
Also Published As
Publication number | Publication date |
---|---|
WO2015087055A1 (en) | 2015-06-18 |
EP3080781B1 (en) | 2019-02-13 |
AU2014363213B2 (en) | 2019-10-10 |
GB2518019B (en) | 2015-07-22 |
GB201322113D0 (en) | 2014-01-29 |
GB2518019A (en) | 2015-03-11 |
US20160307369A1 (en) | 2016-10-20 |
EP3080781A1 (en) | 2016-10-19 |
US10467805B2 (en) | 2019-11-05 |
RU2016127919A (ru) | 2018-01-25 |
CN105830126A (zh) | 2016-08-03 |
RU2679964C1 (ru) | 2019-02-14 |
JP6260924B2 (ja) | 2018-01-17 |
JP2017505471A (ja) | 2017-02-16 |
AU2014363213A1 (en) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105830126B (zh) | 激光扫描数据的图像渲染 | |
RU2695528C2 (ru) | Визуализация изображения данных лазерного сканирования | |
JP7265639B2 (ja) | 優先点を識別して保持する点群の併合方法 | |
JP5551306B2 (ja) | 環境を光学的に走査および測定する方法 | |
EP1646010B1 (en) | Method for generating textures for continuous mapping | |
CN1250165A (zh) | 三维雷达装置以及用于显示三维雷达图像的方法 | |
CZ273297A3 (cs) | Počítačový grafický systém pro vytváření a zlepšování map, vztahujících se ke třírozměrným modelům | |
JP2008134224A5 (zh) | ||
JP7038683B2 (ja) | 合成装置、方法及びプログラム | |
JP5624457B2 (ja) | 三次元データ処理装置、方法及びプログラム | |
JP6255008B2 (ja) | 顕微鏡の稼働時に実施する方法および顕微鏡 | |
JP4584956B2 (ja) | グラフィックスプロセッサおよび描画処理方法 | |
JPH09511599A (ja) | 3−dコンピュータ・グラフィックのための高速透視テクスチャ・マッピング | |
KR101817756B1 (ko) | 인터랙티브한 시점 제어가 가능한 3차원 모델 기반의 ptm 생성 시스템 및 이를 이용한 ptm 생성 방법 | |
KR20190067070A (ko) | 가상 공간에서의 프로젝션 맵핑 시스템 및 방법 | |
JP3703073B2 (ja) | 図形表示装置及びその方法 | |
US5821942A (en) | Ray tracing through an ordered array | |
Ronchi et al. | Roman fragmentary painting: surveying technologies and methodological approaches | |
CN117333598B (zh) | 一种基于数字场景的3d模型渲染系统及方法 | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans | |
Guercke et al. | Generalization of tiled models with curved surfaces using typification | |
Guerckea et al. | Generalization of tiled models with curved surfaces using typification | |
Quarendon | Toward Three-Dimensional Models of Reality | |
Chen et al. | Image-Based Model Acquisition and Interactive Rendering for Building 3D Digital Archives. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1227528 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |