首页 / 专利库 / 资料储存系统 / 高速缓冲存储器 / 顶点缓存 / 使用嵌套的规则栅格的地形描绘

使用嵌套的规则栅格的地形描绘

阅读:726发布:2020-12-12

专利汇可以提供使用嵌套的规则栅格的地形描绘专利检索,专利查询,专利分析的服务。并且地形的细节的多个等级以规则栅格存储在 存储器 中。在一个这样的例子中,地形被高速缓存在一组从多个等级得到的嵌套的规则栅格中,作为离观察者的距离的函数。在一个这样的例子中,地形的细节的多个等级包括地形海拔和纹理图像。如果观察点相对于地形移动,嵌套的规则栅格被相对于观察点在地形中的运动而重新填充。在一个这样的例子中,引入转换区域来帮助栅格等级之间的混合。在一个这样的例子中,规则栅格作为 顶点 缓冲器 存储在视频存储器中。在一个这样的例子中,顶点数据包括用于有效栅格等级边界混合的来自另一个栅格等级的海拔值。,下面是使用嵌套的规则栅格的地形描绘专利的具体信息内容。

1.一种计算机可执行方法,提供了在地形描绘中细节的可变等级,该方法包括:提供一个地形的细节的多等级表示,其中每个等级表示一个规则栅格;确定观察者的观察点;在一组从多个等级中得到的嵌套规则栅格中高速缓存一个地形视图,其作为离观察点的距离的函数;以及当观察点相对于地形运动时,递增地重新填写该组嵌套规则栅格。
2.权利要求1所述的方法,其中嵌套的规则栅格组高速缓存在视频存储器中。
3.权利要求1所述的方法,其中嵌套的规则栅格是以观察点为中心的n×n范围。
4.权利要求3所述的方法,其中嵌套的规则栅格组的等级在范围是从0到n的25%的转换区域中混合。
5.权利要求1所述的方法,其中地形的细节的多等级表示包括地形海拔和纹理图像。
6.权利要求1所述的方法,其中嵌套的规则栅格组包括n×n的顶点阵列,上述栅格作为顶点缓冲器被高速缓存在视频存储器中。
7.权利要求6所述的方法,其中在描绘的过程中,螺旋形地访问该阵列。
8.权利要求1所述的方法,其中一个规则栅格的顶点包括x、y、z和z’坐标,其中z坐标表示一个等级的地形海拔值,z’坐标表示下一个较粗糙等级的地形海拔值,z’值用在嵌套的规则栅格组的等级之间的转换变体中。
9.权利要求1所述的方法,其中当递增地重新填写嵌套的规则栅格组时,由等级的几何形状计算正常的地图。
10.一种计算机系统,包括:一中央处理单元;一图形处理单元;以及一耦合到包含数据和可执行的指令的存储器的处理单元,包括:规则栅格的多等级表示,每个等级表示在细节的不同等级上的地形;以及描绘部件包括可执行指令,用于将多个等级的部分嵌套入嵌套的规则栅格组,以减少细节的等级,作为离观察点的距离的函数。
11.权利要求10所述的计算机系统,其中规则栅格的多个等级进一步包括纹理图像。
12.权利要求10所述的计算机系统,其中嵌套的规则栅格被嵌套入n×n的顶点阵列,并且作为顶点缓冲器而存储在视频存储器中。
13.权利要求10所述的计算机系统,其中描绘部件进一步包括用于在嵌套的规则栅格组的等级之间混合的可执行指令。
14.权利要求13所述的计算机系统,其中描绘部件进一步包括当观察点相对于地形运动时,用于递增地重新填写嵌套的栅格组的可执行指令。
15.权利要求14所述的计算机系统,其中描绘部件进一步包括当递增地重新填写嵌套的规则栅格组时,用于为地形阴影创建一个正常图的可执行指令。
16.权利要求10所述的计算机系统,其中描绘部件进一步包括用于将嵌套的规则栅格组的中心定位在观察点附近的可执行指令。
17.一种计算机可读媒介,包括用于执行一种方法的计算机可执行指令,该方法包括:提供多个规则栅格的表示,该栅格包括地形的细节的不同等级;相对于地形确定一个观察点;并且创建一组从多个规则栅格中选择的嵌套的规则栅格,以便当离观察点的距离增加时,嵌套的规则栅格等级在细节的等级上递降。
18.权利要求17所述的计算机可读媒介,其中该方法进一步包括:在嵌套的规则栅格组之间混合地形海拔值,以使得在较精细细节等级上的高度值在等级边界上接近较粗糙细节等级的等级。
19.权利要求17所述的计算机可读媒介,其中该方法进一步包括当观察点相对于地形运动时,用于递增地重新填写嵌套的栅格组的可执行指令。
20.权利要求19所述的计算机可读媒介,其中包含在嵌套的规则栅格组中包含的每个等级是一个n×n的规则栅格,其在连续的2次方分辨率上减少。

说明书全文

使用嵌套的规则栅格的地形描绘

技术领域

发明总地涉及具有各式各样的等级细节的地形描绘领域。
授权的版权公开的本专利文献的一部分包括在版权保护条件下的内容。版权所有人没有理由拒绝在专利和商标局的专利文件或记录中任何人对该专利文档或专利公开的精确复制,否则无论如何版权所有人保留所有版权权利。
背景现有的地形细节等级(LOD)算法使用网格加细操作体系来适应棋盘形的地表。这些算法可以根据上述体系结构加以分类。
例如,分成诸如三形的不规则网络的不规则网格为给定数量的三角形地形提供了很好的地形近似,但是需要对邻接网格和细分从属网格的追踪。一些体系使用Delaunay三角网(例如参见Cohen-Or,D.et al.,Temporal Continuity ofLevels of Detail in Delaunay Triangulated Terrain,IEEE Visualization 1996,37-42;Cignoni,P.et al.,Representation and Visualization of Terrain Surfaces at VariableResolution,The Visual Computer 13(5),199-217,1997;Rabinovich,B.et al,Visualization of Large Terrains in Resource-Limited Computing Environments,IEEEVisualization 1997),然而另一些允许任意的连通性(例如参见De FlorianaE.et.al.,Building and Traversing a Surface at Variable Resolution,IEEE Visualization1997,103-110;Hoppe,H.,Optimization of Mesh Locality for Transparent VertexCaching,ACM SIG-GRAPH 1999,269-276;El-Sans,J.,et al.,GeneralizedView-Dependent Simplification,Proceedings of Eurographics,1999,83-94).
诸如最长边等分、有限的四叉树的Bin-tree体系,以及直角三角形体系使用直角三角形的递归等分来简化存储器设计和遍历算法。然而,这些半规则网格还包括基于指针的数据结构以及立即模式描绘(参见例如Lindstrom,P.et al.,Real-Time,Continuous Level of Detail Rendering of Height Fields,ACM SIGGRAPH1996,109-118;Duchaineau,M.et al.,Roaming Terrain:Real-time Optimally AdaptingMeshes,IEEE Visualization 1997,81-88;Pajarola,R.,Large Scale TerrainVisualization Using the Restricted Quadtree Triangulation,IEEE Visualization 1998,19-26;Rottger,S.et al.,Real-time Generation of Continuous Levels of Detail forHeight Fields,Central Europe Conf.on Computer Graphics and Vis.,315-322;和Blow,J.,Terrain Rendering at High Levels of Detail,Game Developers Conference2000)。
此外,Bin-tree区域在与bin-tree结构关联的区域上定义粗放式加细操作,并且将预计算的分成三角形的区域上载到视频存储器中高速缓存的缓冲器中,因而加速整体的描绘。然而,高速缓存阻碍对时间相干性的地形学的使用。参见例如Levenberg,J.,et al.,Fast View-dependent Level-of-Detail Rendering UsingCached Geometry,IEEE Visualization 2002,259-266;Cignoni,P.et al.,BDAM-Batched Dynamic Adaptive Meshes for High Performance TerrainVisualization,Computer Graphics Forum22(3)2003;Cignoni,P.et al.,Planet-sizedBatched Dynamic Adaptive Meshes(P-BDAM),IEEE Visualization 2003。还有其他很多用于视图从属绘图的方法。参见例如Bishop,L.,et al.,Designing a PC GameEngine,IEEE CG&A 18(1),46-53 1998;De Boer,W.,Fast Terrain Rendering UsingGeometrical Mipmapping,http://www.flipcode.com/tutorials/geomipmaps.pdf,datedOctober 2000;Wagner,D.,2004,Terrain Geomorphing in the Vertex Shader,InShaderX2:Shader Programming Tips&Tricks with DirectX9,Wordware Publishing2004;Gumhold,S.et al.,Multiresolution Rendering with Displacement Mapping,Graphics Hadrdware Workshop1999;Dogget,M.et al.,Adaptive View-dependentTessellation of Displacement Maps,Graphics Hardware Workshop,2000;Moule,K.etal.,Efficient Bounded Adaptive Tessellation of Displacement Maps,Graphics Interface,2002。还有其他用于纹理图的方法。参见例如Dollner,J.et al.,Texturing Techniquesfor Terrain visualization,IEEE Visualization 2000,227-234;Tanner,C.et al.,TheClipmap:A Virtual Mipmap,ACM SIG-GRAPH 1998,l51-l58(“Tanner 1998”)。
概要所描述的技术提供了在用计算机处理的地形描绘中用于细节等级改变的产品、方法和系统。在一个例子中,通过一种这里称为几何裁剪图的技术,提供地形描绘。几何裁剪图在几个方面与现有的方法有所不同。加细体系包括一组嵌套的、观察者为中心的规则栅格,用地形学提供内部等级(inter-level)连续性。加细标准还考虑了观察距离,但其忽略了当地的地表几何形状。几何裁剪图定义以观察者为中心的一个体系,其简化了速度和时间中内部等级的连续性。
在一个例子中,一个地形的细节的多个等级存储在存储器的规则栅格中。在一个这样的例子中,地形高速缓存在从多个等级得到的一组嵌套式规则栅格中,将该地形作为离一个观察点的距离的函数。如果该观察点相对于地形移动,该嵌套式规则栅格相对于该观察点在地形中的移动而被渐增地重新填满。在一个这样的例子中,引入转换区域来帮助栅格等级之间的混合。在一个例子中,规则栅格作为顶点缓冲器存储在视频存储器中。在一个这样的例子中,一个顶点数据集包括来自另一个用于有效的栅格等级边界混合的栅格等级的高度值。
在另一个例子中,一个计算机系统提供了规则栅格的多个等级,其表示在不同等级上的地形。在一个这样的例子中,一个描绘部件将规则栅格的一部分嵌套入一个嵌套的规则栅格中,该嵌套的规则栅格基于离一个观察点的距离在细节上减少了。还描述了很多具有细节的等级的地形描绘的其他例子和变化。
从下面参照附图进行的描述中,附加的特征和优点会变得明显。
附图简述图1是示出了裁剪图的等级的示意图。
图2是典型的嵌套的几何裁剪图的示意图。
图3是典型的着色区域示意图,其示出了一组嵌套的规则栅格的等级之间的关系。
图4是用于描绘画面典型方法的流程图
图5是用最佳顶点高速缓存描绘的典型描绘区域的示意图。
图6是嵌套裁剪图等级之间的典型边界的示意图。
图7是包括一个转换区域的一个典型嵌套裁剪图的示意图。
图8是从上观察的平截头体角锥视图的典型示意图。
图9是实现上述技术的分布式计算机系统的方图。
详细描述纵览地形几何形状是户外图形环境的一个重要组件,其用于例如电影、虚拟环境、绘图法和游戏中。特别地,实时户外游戏包括飞行模拟器驾驶模拟器和庞大的多玩家游戏中。该技术集中于地形高度域的实时描绘,并提供了地形图像描绘中的效率。
为了使用在嵌套的规则栅格中的几何裁剪图来示范地形绘制,使用一个真实地形的规则栅格。然而,一个虚拟的地形的规则栅格也会有效。例如,一个示范的数据集是美国的高度域地图,其中在一个规则栅格中包括每三十米采集的高度样本。
图1是表示裁剪图的等级的示意图。在该例中,等级102是地形的最精细细节等级,在中间等级104中创建地形的较低细节的等级,直到最低细节等级到达等级106。地形等级角落上的箭头表示一个任意的地形通常会在尺寸上非常大。例如,用于美国的数据集包括216,000×93,600个海拔样本。地形的海拔表示在地形等级的顶点108,110。较低的地形等级104、106带来了效率,由于对一个观察者遥远但是可见的地形海拔不需要像观察者近处的地形高度一样详细。地形地图的顶点用于创建地形中的地表。例如,一个正方形的地表取决于由顶点a、b、c和d限定的海拔样本。通过在较精细细节等级中提供更多的海拔样本,就可以创建表示更多地形细节的地表。例如,一个三角形等级(a.k.a,三角形网格)是由顶点a、b和d表示的。纹理图像被应用到这些等级以向网格等级提供纹理。
当一个观察点遍历一个地形时,从该地形的最佳等级绘制与观察点最近的地形精细和纹理,而地形地形和纹理细节是随着距离的增长从较低等级得到的。
在一个例子中,几何裁剪图的等级的部分作为顶点缓冲器而存储在高速视频存储器中,当观察点移动时上述部分逐渐递增地被重新填写。这提供了视觉的连续性、统一的速度、减少了复杂度以及功能退化。
庞大的地形高度图通常包括非常多要实时交互地描绘的高度样本。此外,描绘一个均一密度的三角网会导致混淆现象,这是由未过滤的从样本到像素的多对一映射所引起的,如在没有MIP贴图(mipmaps)的纹理中所示。因而提供作为观察参数的函数的细节等级(LOD)来调整地形的棋盘形布置。
上述方案适用于不仅基于视图而且基于当地地形几何形状,来进行加细。在这些上述方案中,等级区域设计成更大的三角形,导致要描绘的不规则的网格具有更少的三角形。然而,上述结构具有一些缺陷。加细标准和/或加细操作一定要预先计算并且耗费额外的存储器。数据结构包括具有很差高速缓存相关性的随机访问遍历。另外,改变棋盘形布置需要较慢的立即模式描绘,同时高速缓存静态区域阻碍了当时的连续性。而且,要保持恒定的帧速度,加细阈值必须随着所观察的地形的崎岖不平而改变。最后,地表的阴影需要纹理图像,该图像分别地存储并使用完全不同的LOD结构。
现有GPU的描绘速度提供足够的处理能以便使用像素大小的三角形以视频速度覆盖一个帧缓冲器。而且,顶点处理速度持续增长直到赶上像素速度。因而,上述技术不再假定细密纹理的LOD是必需的,而是寻找地形的屏幕统一棋盘形布置,其中所有的三角形大致是像素大小的。该技术产生最佳地馈送图形管路的LOD结构。
图2是典型的嵌套式几何裁剪图的示意图。几何裁剪图将一个地形高速缓存在一组嵌套的观察者居中的规则栅格中。这些栅格以2次方(power-of two)的分辨率表示地形的过滤格式,并且作为顶点缓冲器存储在视频存储器。当观察点移动时,裁剪图等级移位并且被数据递增地重新填写。
在几何裁剪图和纹理裁剪图之间有一些关键的差异。参见例如Tanner,C.etal.,The Clipmap:A Virtual Mipmap,ACM SIG-GRAPH 1998,151-158(“Tanner1998”);Williams,L.,Pyramidal Parametrics,ACM SIGGRAPH 1983,1-11。
在设计屏幕空间几何形状之后,纹理裁剪图每像素地计算LOD。然而对于地形,并不存在屏幕空间几何形状,直到选择了地形LOD一循环的从属。更重要地,每像素LOD选择并不会难以保持网格的严密性或当时的平滑性。
相反,自然空间中的LOD是基于观察者的距离、使用一组关于观察点的嵌套的矩形区域而选择的。创建多个转换区域以平滑地混合等级,并且通过使用零区域三角形滚压等级边界来避免T接合。上述LOD转换方案允许裁剪等级的独立转换,并且修整等级而不是如Tanner 1998所述自动地无效。另外,嵌套的规则栅格支持纹理图像,因而得到用于几何形状和图像的统一的LOD结构。和纹理裁剪图不同,上述技术不需要特殊的硬件
完整的地形不需要作为规则栅格存储在主要存储器中。当地形以压缩的格式存储时,主要存储器可以包括一个完整地形锥体的压缩的表示。在一个这样的例子里,等级以连续等级之间的压缩剩余物的形式进行存储。当合成了地形时,如果高速缓存了裁剪图,不需要为了这个目的在主要存储器中存储任何东西。在一个这样的例子中,因为视图移动了,合成程序填充裁剪图的等级。
几何裁剪图纵览几何裁剪图使用一组m等级来高速缓存地形锥体,在连续的2次方(power-of two)分辨率(例如,图2)表示嵌套的程度。在一个例子中,每个等级包括一个n×n顶点阵列,作为顶点缓冲器存储在视频存储器中。要允许有效的递增更新,螺旋形地访问该阵列(也就是,使用x和y上的幂操作进行2D环绕寻址)。在不久的将来,图形硬件也将允许顶点的该2D阵列作为图像存储。特别地,一个三通道图像,其中3个通道(红、绿、蓝)存储该顶点的X、Y、Z位置。在一个这样的例子中,每个顶点包括(x,y,z,zc)坐标,其中z是该等级的高度值,zc是在下一个较粗糙等级中在(x,y)点的高度值,并被用作转换变种,这将在后面讨论。
对于裁剪图的每个等级1,如附图3所示那样确定一组矩形区域确定为。clip_region(l)302是在该等级由n×n栅格所描述的自然区域。active_region(l)304是所描绘的子集的区域。如后面要讨论的,想要的激活区是以观察者为中心的,但是裁剪区域可以落在后面,导致激活区的修整。下一个较精细等级的clip_region(l+1)306也具有一个active_region(l+1)308。最后,该等级的render_region(l)310定义为render_region(l)=active_region(l)-active_region(l+1)。对于最精细的等级m,active_region(m+1)定义为空。当视图改变时,更新激活和裁剪区域,如后面所述的“激活区域的计算(Computation of Active Regions)”和“几何剪裁图的更新(Geometry Clipmap Update)”。
下面的观察是参照附图3作出的。
(1)clip_region(l+1)clip_region(l)Θ1,其中Θ表示由标题距离的侵蚀。因为较精细等级值是在解压缩或标量中的一个过程中从较粗糙的等级值预测的,所以裁剪区域被嵌套。该预测需要在所有边上保持1个栅格单元。
(2)active_region(l)clip_region(l),由于描绘的数据是当前裁剪图中数据的子集。
(3)active_region(l)的周长取决于“偶数的”顶点(如在附图6中所讨论的),来用较粗糙的等级l-1激活严密的边界。
(4)active_region(l+1)active_region(l)Θ2,因为描绘区域是至少两个栅格单元的宽度以允许等级之间持续的转换。
在一个例子中,每个裁剪图等级还包括相关联的纹理图像。存储一个每通道8位的正常图用于地表阴影,由于其比正常的每顶点存储更有效率。对于真实的阴影,正常的图具有两倍于几何形状的分辨率,由于每顶点的正常图是非常模糊的。在一个例子中,当更新裁剪图时,从几何图形计算正常图。可能以不同的分辨率存储另外的图像,例如颜色域或地形属性。类似于顶点阵列,为每个有效的更新螺旋形地访问顶点。在一个例子中,为了在后面要讨论的视图圆锥截体选择中使用,在每个裁剪等级中为每个本地地形保持zmin、zmax海拔界限。
图4是用于描绘帧的典型方法400的流程图。在一个例子中,下面的方法在每个帧上执行。在一个例子中,在402,该方法为裁剪图的每个等级确定激活区。通常,为最接近观察点的地形选择裁剪图的较细密纹理等级。例如,如图2所示,确定观察点202是到裁剪图地形的给定等级最近的。因而,使用裁剪图地形204的较精细等级来显示最接近观察者的地形。至于从观察者202的距离增加210,使用裁剪图206、208的较粗糙等级。确定激活区的另一个例子将在下面讨论(也就是,确定激活区)。
在404,当观察点相对于裁剪图移动时,裁剪图几何形状被更新。当观察点相对于地形移动时,调整裁剪图边界等级以便使观察点周围的等级一般地保持如图2所示的关系一也就是说用来自较精细裁剪图等级的数据来填充离观察点最近的视图。因而,在从堪萨斯州到北卡罗莱纳州的旅行中,在观察点前面演变的地形具有一个展开的前沿。如附图2所示,当观察点向210移动时,来自该裁剪图的每个等级的地形会演变,所以该观察点保持在裁剪图的中心。如示保持观察点为中心是有帮助的,尤其是在观察者能够旋转并反向观看的情况中。下面讨论更新裁剪图的另一个例子(也就是,几何形状的裁剪图更新)。
在406,激活区被修整到裁剪区域,并且描绘裁剪图。下面讨论该步骤的另一个例子(也就是,描绘算法)。
确定激活区取决于观察的加细是由为裁剪图的每个等级选择激活区而确定的。在一个例子中,对于每个等级l,具有自然空间中栅格212间距gl=2-1,想要的激活区是以观察点202的(x,y)位置为中心的尺寸为ngl×ngl214的空间。换句话说,想得到的裁剪图是再次以观察者为中心,并且很好地描绘每个等级的整体范围。现在,考虑屏幕空间三角形的尺寸是如何随着对裁剪图尺寸n的选择而变化的。目前假定地形具有很小的倾斜,所以每个三角形大概是边长为gl的直角三角形。下面讨论更通用的误差分析(也就是,结果和讨论)。
对于任何可视的自然点,屏幕空间的尺寸与在屏幕空间的深度成反比。如果观察方向是平的,在XY等级上测量屏幕空间深度。观察者位于render_rigion(l)的中心,其具有外侧边长ngl和内侧边长ngl/2。对于观察域=90°,平均屏幕空间深度(在所有观察方向上的)是大约(0.4)ngl。因而,大约的像素屏幕空间三角形尺寸s是由下面的算式给出的:其中W是窗口尺寸,是观察的区域。对于默认值W=640像素和=90°,裁剪图尺寸n=255得到很好的结果。这相应于3像素的屏幕空间三角形尺寸s。由于正常的图是以该分辨率的2倍存储的,这给每个纹理样本大约1.5像素,这对于纹理采样来说是一个合理的设定值。
当观察方向不是水平的时,render_rigion(l)的屏幕空间深度比上述的(0.4)ngl大,因而屏幕空间三角形尺寸变得比s小。如果如果观察者从地形的高处垂直向下看,三角形的尺寸非常小,混淆现象会变得明显。分辨率要使不必要的精细的等级的描绘无效。特别地,观察者在地形之上的高度是通过访问裁剪图的最精细有效等级来计算的。对于每个等级l,如果观察者高度比(0.4)ngl大,则激活区设定为空。
简单以观察者为中心的区域的一个缺陷是,随着视图域的变窄,裁剪图尺寸n必须随着增加。一个校正将会使裁剪图区域的位置和尺寸适应观察截锥体。取而代之的是,使用以观察者为中心的区域,因为其使视图即刻绕着当前观察点旋转。很多应用程序都有这个需要,例如使用操纵杆“安全帽转换器”让用户能够查看所有方向的飞行模拟器。下面,视图截锥体选择描述了如何避免描绘在视图部分之外的地形。
更新几何裁剪图当想得到的激活区随着观察者的移动而移动时,裁剪区域也应当相应地移动。在一个例子中,通过螺旋的访问,当移动一个等级时不需要复制旧的数据。当一个裁剪区域被转换时,用数据填充新出现的L形区域,其来自于对明确的地形的解压缩或对程序形式的地形的合成,如下面讨论的“地形压缩”和“地形合成”。在一个例子中,从解压缩过的地形填充较粗糙的等级314,并且合成较精细的等级是312。
当为了减少更新的频率而转换该裁剪区域时,会有一个变化,其可以预见观察者未来的运动。由于解压缩和合成都可以在很小的区域中有效地实现,更新的间隔尺寸在当前还不是重要因素。
当观察者很快地运动时,更新所有等级所需的处理会是复杂的。因而,以粗糙到精细的顺序更新等级,并且在达到给定的处理预算时,紧接着停止更新。在一个例子中,确定在更新过的样本总量超过n2之后,停止更新确定是有效的。由于在未更新(较精细)的等级中的裁剪区域落在后面了,其逐渐地修整相关联的激活区域,直到它们变成空的。效果是快速移动(靠近观察者)的地形丢失其高频率的细节,反而运行良好。一个有趣的结果是随着观察者更快地移动,描绘工作量居然减少了。
当使用压缩或合成而更新裁剪图时,较精细的等级是使用插入的再分方案从较粗糙的等级所预测的等级。在一个这样的例子中,选择了四点再分曲线插值的张量积形式,其具有掩膜加权(-1/16、9/16、9/16、-1/16)。参见例如Kobbelt,L.,Interpolatory Subdivision on Open Quadrilateral Nets with ArbitraryTopology,Eurographics 1996,409-420;以及 Dyn,N.,A 4-point InterpolatorySubdivision Scheme for Curve Design,CAGD 4,257-268 1987。
描绘算法一旦确定了想得到的激活区域,则使用表格1所示的算法描绘地形。
根据该算法,激活区被依据如上面“几何裁剪图纵览”所论述的条件而被修整为裁剪区以及较粗糙的激活区。请注意如果active_region(k)是空的,则通过构建所有较精细的active_region(l),l>k的区域也是空的。较精细的等级具有空的激活区是非常常见的,这是由于它们的裁剪区没有被及时更新(也就是,观察者运动得很快),或是由于较精细的棋盘形布置是未获保证的(也就是,观察者在离地形相当高的地方)。
由于较精细的等级较靠近观察者,从精细到粗糙的顺序描绘等级以使用任意硬件闭合选择。
图5是用最佳的顶点高速缓存描绘典型描绘区域的示意图。
在一个例子中,render_region(l)被分割成四个矩形区域502-508,其是使用图5所示的三角形带描绘的。最大带长度是从最佳的顶点高速缓存中选择的,上述带组合在一起形成庞大的成批的基元。实际上,这些带在长度上高达20个三角形。在视频存储器体系的所有等级上,栅格式顺序存储器的访问运转得很好。
为视觉的连续性而转换区域迄今为止,上述算法不能解决在不同等级上描绘区域之间的缝隙,这归咎于在边界上两次幂的配合不当。
图6示出了裁剪图等级之间的典型边界。例如,嵌套的裁剪图具有边界608,在那里裁剪图的较精细的等级遇到了较粗糙的等级。如上所述,一个较精细纹理等级604典型地接近使用了更大三角形网格复杂度的观察点。如所示,较粗糙纹理的栅格602具有用于确定两个三角形A和B的四个顶点。这与其邻近的较精细纹理的栅格604相对比,该栅格具有用于确定8个三角形a-h的9个顶点。如可以预见的,在较精细和较粗糙网格之间的边界提供了用户也许能看到的可视缝隙。
因而,当较精细纹理网格变得接近等级边界608时,较细纹理等级被移动到较粗糙纹理等级。在等级之间的移动实施于较精细纹理等级的顶点,以便向上达到较粗糙等级,该转换对于观察者来说不明显。为了演示上述内容,用垂直的y轴和水平的x轴标注等级边界608,其中心在x=0、y=0的顶点(0,0)610。注意较粗糙等级的顶点全落在图形的偶数x和偶数y的顶点值上(也就是,(0,0),(0,2),(2,0),(2,2))等。还注意到较精细等级的顶点落在图形的奇数和偶数的x和y的顶点值上(也就是,偶数(0,0),(-2,0),(0,2),(-2,2);奇数(0,-1),(0,1),(-1,1),(-2,1),(-1,2))。因而,如果设定转换宽度等于三个栅格612,那么较精细等级的奇数顶点会转换为它们之下的较粗糙栅格的向下样本值。向上到达边界608,会完成到向下样本的转换,以便使在较粗糙等级(0,1)上的奇数点的地形高度值等于较精细等级的邻近三角形的中间点(也就是,(0,0)和(0,2)的中间点)。
附图7示出了包括转换区域的典型嵌套裁剪图。图7示出了transition_region(l)702。要消除缝隙并且提供暂时的连续性,在每个render_region(l)714的外部边界附近的几何形状被变形,以便使其平滑地转换到较粗糙等级的几何形状。该变形是地形顶点空间(x,y)708栅格坐标的函数,该栅格坐标是相对于观察点(vx,vy)706的栅格坐标。因而该转换不是以时间为基础的而是跟踪连续的观察者位置706。
通过实验,可以确定n/10栅格单元的min_width(l)710转换宽度w运行良好。如果w非常小,等级边界会变得明显。并且如果w非常大,会不必要地丢失精细图象细节。如果较精细active_region(l+1)712太接近较粗糙区域,那么它会有助于设定w=(n/10,min_width(l)),其中min_width(l)已知最小为2。
回想每个顶点存储(x,y,z,zc),其中zc是下一个较粗糙等级l-1中的地形高度。在转换区域中,根据如下公式确定顶点值的变形的高度值:z′=(1+α)z+αzc其中按α=max(αx,αy)为αy并且只为αy计算混合参数α,其中αx=min(max((|x-vxl|-(xmax-xmin2-w-1))/w,0),1)]]>这里(vlx,vly)表示在clip_region(l)的栅格中的观察点的连续坐标,以及active_region(l)704的整数范围xmin和xmax。想要的特性是α估算到0,除了位于转换区域中,其中α在外部周界线性地向上倾斜到1。在GPU顶点阴影中使用大约10条指令实现上述估算,所以其几乎不会增加描绘成本。因而,外部边界附近的转换区使计时器等级l平滑地与下一个较粗糙等级l-1接合。
虽然几何的转换消除了缝隙,在一些例子的光栅化过程中,沿着边界的T型交叉点还会导致产生落下的像素。要将邻近的等级缝合成严密的网格,沿着描绘区域边界描绘零宽度三角形。
纹理绘制如上所述,每个裁剪图等级还存储了在栅格化中使用的纹理图像(例如,正常的地图)。纹理绘制的一个选择是使硬件MIP(mipmapping)贴图控制纹理LOD。每个裁剪图等级上的纹理会拥有其自己的MIP(mipmap)贴图角椎体,因而额外需要33%的存储器。注意该角锥体中较粗糙的MIP(mipmap)贴图等级精确地与较粗糙裁剪图等级中的子区域对应,所以理想地它们应当如在纹理裁剪图中一样被共享(参见例如Tanner1998),但是当前硬件并不支持该容量。更重要的是,在让硬件控制MIP贴图(mipmap)等级时存在实际的问题。如果存储的纹理的分辨率不足够高,一些情况中在描绘区域边界上,在纹理分辨率中的急速转换会是明显的,因为MIP贴图(mipmap)等级没有到达下一个较粗糙的等级。在观察者在地形表面上移动过程中,可以看到作为“前沿”的急速转换。
相反,MIP贴图(mipmapping)也被无效了,使用应用到几何形状上的相同的空间转换区域,在纹理上执行LOD。因而纹理LOD是基于观察者距离的,而不是如在硬件MIP贴图(mipmapping)中一样基于屏幕空间的引出物。在这次近似中丢失的主要元素是在地表定位上的纹理LOD的相关性。当地表被倾斜地导向时,就再也不能访问较粗糙的MIP贴图(mipmap)以防止混淆现象。然而,图形硬件通常支持各向异性的过滤,借此可以从原始的最佳等级结合更多样本。因此,对于地表定向相关性来说,缺少MIP贴图(mipmap)不是一个实际的问题。
基于空间的纹理LOD方案可以很容易地在GPU碎屑阴影中实现。当描绘等级l时,用来自等级l和l-1的纹理提供阴影,使用相同的α参数混合它们,该参数是已经在用于几何形状转换的顶点阴影中计算好的。
选择视图截锥体图8示出了从上面观察的视图截锥体的典型图解。返回到附图5,每个绘制区域被分割成4个三角形区域。同样,返回到裁剪图的等级,为本地地形保持zmin和zmax边界。用地形边界[zmin,zmax]挤压出每个2D三角形区域,以形成轴对准的边界框。使用视图截锥体的4边角锥分割该框,并且将结果凸面集投影到XY等级。例如,对于用屏幕终端坐标a-d表示的屏幕视图802,从该屏幕位置分割的相应区域范围显示在典型嵌套栅格804中,用相同的屏幕坐标a-d标注。轴对准三角形边界集被用于修整给定的三角形区域。视图截锥体选择为视图的90°区域减少了以大约以3为因数的描绘负载。
地形压缩海拔地图与现实紧密相关,与通常的颜色图像相比时更是重要,并且因而为压缩提供了巨大的机会。为了有效地与几何裁剪图结构交互,解压缩算法必须在任何2次方的分辨率上支持“region-of-interest”(ROI)查询。
下面描述锥体压缩方案。地形锥体T1..Tm首先通过使用线性滤波器Tl-1=D(Tl)连续地将精细地形Tm向下采样到较粗糙等级而创建。然后,从每个锥体等级Tl的下一个较粗糙等级Tl-1通过插入的再分U(Tl-1)预测该锥体等级Tl(例如,如“更新地形裁剪图”中所论述的),并且使用图像编码器压缩剩余的Rl=Tl-U(Tl-1)。预先计算最佳滤波器D(大小为11×11),以便通过解决给定地形的子集上的线性系统,U(D(Tl))给出Tl的最佳L2近似值。由于该压缩是有损耗的,Rl由 近似。因而,以粗糙到精细的顺序重新构建等级为T~l=U(T~l-1)+R~l,]]>并且压缩剩余的等级并将其重新定义为Rl=Tl-U(T~l-1).]]>由于较粗糙的等级是从遥远的地方观察的,第一个步骤是给它们的近似值较低的绝对精确度。特别地,剩余的Rl由优先于量化的2l-m测量。当存在用于几何逼真度的校正调整时,可以发现这导致了很差的视觉逼真度,因为正常地图和基于z的色彩都表现了量化的噪声(因为它们是从解压缩的几何图形中推断出的)。该分辨率以相同的绝对精确度压缩所有的等级剩余物。
使用PTC图像编码器压缩量化的剩余物(例如,Malver,H.,Fast ProgressiveImage Coding without Wavelets,Data Compression Conference 2000,243-252),其具有几个很好的特性。它们避免通过定义覆盖基础功能避免了模块化的噪声,然而基点被空间地局部化以允许有效的区域解压缩。同样,当编码适合在2GB内时,编码器支持任何尺寸的图像。在一个例子中,解压缩发生在渐增地加载到视频存储器的过程中,并且因而十分快。
在32位的地址空间内通过执行作为流动计算的所有步骤,执行压缩预处理。对于40GB U.S.数据,从原始地形Tm到压缩的剩余物 的全部处理需要大约5小时,它们之间的大多是盘式I/O。压缩误差 的有效值将在下面的“结果和讨论”中论述。压缩的地形在视觉上与原始的是不可分辨的,也许除了与海岸线相关联的明显颜色转换。
地形合成几何裁剪图提供了一个简单自然的结构来使用随机细分(参见例如,Fournier,A.et al.,Computer Rendering of Stochastic Models,Comm.of the ACM25(6),371-384 1982;Lewis,J.,Generalized Stochastic Subdivision,ACMTransactions on Graphics 6(3),167-190,1987)或多个分辨率纹理合成(参见例如,Wei,L.et al.,Fast Texture Synthesis Using Tree-structured Vector Quantization,ACMSIGGRAPH 2000,479-488)来生成新的细节。有一个约束是合成处理必须是空间地确定的,以便一直创建相同的地形。
通过向向上采样的较粗糙地形添加无关联的高斯噪声来实现碎片噪声置换。在每个等级l上的噪声变化被换算成与真实地形中的相等(也就是,在“地形压缩”中计算的剩余物Rl的变化)。插入细分的Cl平滑度对于避免地表折痕噪声来说是关键的(参见例如,Miller,G,The Definition and Rendering of TerrainMaps,ACM SIGGRAPH 1986,39-48)。对于有效的估算,预先计算的高斯噪声值存储在一个表格中,并用顶点坐标上的模操作来作索引。尺寸大小为50×50的表格对于移动任何重新的图案或可识别的带状构造来说是足够的。
想要使用GPU碎片阴影来完成合成处理,所以几何形状数据将全部保存在视频存储器中。GPU已具有了需要的“顶点到纹理”容量,而且其应当被立刻曝光。目前如图3所示CPU提供计算时间。
程序合成允许生成具有无限区域范围和分辨率的地形,并且因而提供极大的潜力。另外,碎片噪声提供合成的图案。
结果和讨论实验包括两个美国政府样本。较小的一个是在10米间距的Puget Sound地区的16,3852个栅格,具有在1米垂直分辨率上的16位高度值。全分辨率栅格被指定到等级l=9,所以其在最粗糙等级l=1上的652区域范围内。数据从537MB压缩到8.7MB,具有1.2米的均方值误差(PSNR=20log10(zmax/rms)=71.4dB)。
较大的数据集是在30米间距的相邻的美国的高度地图(更精确地,在长度和纬度中均为1arc-sec)。其范围是[126°W,66°W]×[24°N,50°N],因而形成了216,000×93,600个栅格。在m=11等级的裁剪图中,它在最粗糙等级中占用了212×93个三角形。(即使其是由球状坐标参数化的,其仍是描绘的等级。)它从40.4GB压缩到353MB,带有2.6米的均方值误差(PSNR=64.9dB)。使用的PC的配置是3.0GHz奔腾4CPU、1GB的系统内存、以及具有256MB视频存储器的ATI Radeon 9800XT GPU。
误差的来源有两个,压缩误差和LOD误差,我们在这里对其分别分析。U.S.数据集是从40.4GB压缩到353MB的,带有2.6米的均方值误差(PSNR=64.9dB)。Puget数据集从537MB压缩到8.7MB,具有1.2米的均方值误差(PSNR=20log10(zmax/rms)=71.4dB)。这些均方值误差非常小-只有采样间隔的大约10%。
对于U.S.数据集,等级的数量是m=11,并且压缩后的地形在系统存储器中占用了353MB。对于默认的裁剪图尺寸n=255,几何裁剪图在视频存储器中需要16mn2=11MB用于顶点几何图形的存储。由于GPU中的等级预测还是不可行的,在系统存储器中复制z高度数据,需要4mn2=3MB。正常的地图具有两倍的分辨率,而每个样本只有3字节,所以需要一个额外的12mn2=9MB。因而,整个存储器使用了大约376MB,或每样本仅仅0.019字节。如表格2所示,空间需要比前述的报告数据少得多。由于数据符合标准PC的存储器,我们避免了磁盘访问的运行时间。
对于尺寸为2552的m=11等级,以59MΔ/秒的描绘速度,用截锥体选择得到120帧/秒(对于4x帧缓冲器多重采样,它下降到95帧/秒)。结果表明现有的LOD方法没有得到最佳的描绘处理量。
在一个例子中,用于更新裁剪图的阈值处理预算是一个全n×n等级。表格3示出了用于这个最坏情况的更新步骤的执行时间。其类似于与GPU处理的时间重叠的时间。在观察者运行过程中,系统保持几乎均匀的60帧/秒的速度。注意很快可能实现更有效地使用GPU执行所有的步骤(除了解压缩),这归功于规则的栅格数据结构。
对于尺寸为2552的m=11等级,以59MΔ/秒的描绘速度,用截锥体选择得到120帧/秒。(对于4x帧缓冲器多重采样,它下降到95帧/秒)。用于更新裁剪图的阈值处理预算是一个全n×n等级。表格3示出了用于该最坏情况的更新步骤的执行时间。其类似于与GPU处理的时间重叠的时间。在观察者移动的过程中,系统保持几乎均匀的60帧/秒的速度。注意很快可能实现更有效地使用GPU执行所有的步骤(除了解压缩),这归功于规则的栅格数据结构。
表格2是现有方法的运行时间空间的对比。现有方法还需要存储正常的地图,用于在地表形成阴影(这里未包括)。在几何裁剪图中,由解压缩的几何图形计算正常地图。
表格3对比用于更新全n×n等级(n=255)的时间,其是一个示例性的更新处理预算。
对于m=11的等级,浮点精度还不是一个问题。要允许任何数量的等级,要有一个简单的解决方案来使用双精度将观察点和观察矩阵转换成每个裁剪图等级的本地坐标系统(参见例如,Cignoni,P.et al.,Planet-sized Batched DynamicAdaptive Meshes(P-BDAM),IEEE Visualization 2003)。
以前,屏幕空间三角形尺寸s是为给定裁剪图尺寸n而估计的。该分析依赖于一个事实,即如果假定地形倾斜度很小,地形三角形具有紧凑形态。如果相反地形具有很大的倾斜度,三角形可以无限地伸长,并且它们的屏幕空间范围没有边界,这看起来是有些不令人满意的。
然而,更相关的测量是屏幕空间几何形状误差,也就是,在描绘的网格和原始地形之间的屏幕投影差异。如果有地形几何学的频谱特性的知识,则可以分析该误差。
对于每个地形等级Tl,误差函数el=PL(Tl)-PL(Tm)关注于,PL表示在(x,y)领域上的分段线性网格插入。该功能涉及地形信号的(连续)频谱密度。由于等级l中的栅格间隔gl投影到屏幕空间中的s像素,误差el(x,y)的屏幕空间投影在位置(x,y)最大。
e^l(x,y)=el(x,y)gls]]>(如果观察方向不是水平的,误差会小一些。)因而,给定一个地形数据集,计算êl的规格以为每个描绘的等级估算屏幕空间误差,如表格4所示。
结果显示均方值屏幕空间误差比一个像素要小。这是没有预料到的,由于三角形尺寸s仅有3个像素,并且上述等级三角形和较精细细节之间的差异还很小。更大的L∞(最大限度)误差值是令人误解的,因为所需要的地形数据包括,镶嵌的重合失调噪声,其制造了人为的陡坡,并且其只需一个错误的高度值就可以使统计数据偏离。相反,适合的作法是检查99.9th百分比误差,观察其是否还是比一个像素小很多。
表格4分析了屏幕空间几何图形在像素方面的误差。列示出了均方值、99.9th百分比和最大限度误差。(n=255,W=640,=90°,也就是s=3)。
误差分析显示当仍在保持可接受的几何的逼真度时,也许可以减小裁剪图尺寸。然而,真实的限制因素是视觉逼真度,而其非常依赖地表阴影-这是正常绘图的基本前提。因而,即使使用了较粗糙的几何图形,还是需要保存高分辨率的正常地图。在我们的系统中,正常地图是从几何裁剪图自身生成的。实际上,压缩的MIP贴图(mipmap)截锥体可以看作用于编码正常地图的有效方案,还有一个好处是提供载体几何图形。
通过适合单个的裁剪图等级的尺寸,可以开发横跨等级的屏幕空间误差êl的不均匀度。例如,平滑的山会需要附近平滑地形上较精细的棋盘形地形(在屏幕空间中),而不是在较远的山的轮廓上。如刚刚论述的,不得不证实地形阴影没有负面的影响。Puget Sound和U.S.地形数据集看起来具有大致均匀的频谱密度。在U.S.数据中,误差在较粗糙等级开始减小,反映了一个事实,即粗略来看地球是平滑的。
压缩后的地形锥体剩余物 可以存储在服务器上,并且递增地流向(基于用户的运动)少量的客户端。由于压缩因数属于50-100一类的,所以必要的带宽很小。
预先过滤的MIP贴图(mipmap)锥体是用于地形数据的自然表示。几何裁剪图高速缓存该锥体的嵌套的三角形区域范围,以产生依赖视图的近似值。框架的独特方面在于LOD独立于数据内容。因而地形数据不需要任何加细标准的预先计算。与简单栅格结构一起,其允许在飞行中漫不经心地创建地形,或以高度压缩的格式存储。上述任一个性能在现有技术中都是不可行的。
在一个例子中,显示在U.S.的200亿样本栅格之上的交互飞行,在存储器中只占用400MB,在飞行中以60帧/秒的速度解压缩。解压缩后的数据具有2.6米的均方值误差。屏幕空间LOD比一个像素小99.9th百分比,而且当时的描绘是平滑的。
使用规则的栅格的几何图形表示在使用顶点和图像缓冲器即将来临的联合时,变得甚至更有吸引力。顶点缓冲器会变成通过2D螺旋状坐标访问的几何图像(参见例如,Gu,X.et al.,Geometry Images,ACM SIGGR APH 2002,355-361),并且这将极大地简化几何裁剪图的执行。更通常,该联合会促使高度并行GPU光栅化程序除图像之外还处理几何图形。
几何裁剪图使地形几何学的LOD管理和其相关联的纹理信号一致。该基于空间的LOD结构使低分辨率纹理在等级边界上时被应用而不会出现可视的中断。除了正常图的运行时间创建之外,可以想像的例如阴影图等非本地功能能够以非常轻松的方式被简单地计算。
几何裁剪图提供了一个机会,可以得到上述地形LOD方案所没有的大量优点:简单。作为用于不规则网格的三角形的处理,没有指示器/基于索引的数据结构的遍历,也没有依赖于加细的跟踪。
最佳描绘处理量。裁剪图顶点驻留在视频存储器中,它们的栅格结构允许具有最佳顶点高速缓存重新使用的三角形带描绘。
视觉连续性。内部等级转换区域分别使用顶点和碎片程序中的一些指令,为几何图形和纹理提供空间和时间的连续性。
稳定的描绘。描绘速度几乎是恒定的,由于棋盘形布置的复杂度独立于本地地形粗糙程度。
直接的复杂度节流。即使具有固定的裁剪图尺寸,所描绘的区域也可以是固定的,以减少描绘负载。
良好的递降。当用户快速地移动时,更新带宽(要重新填满裁剪图)会成为瓶颈。如在纹理裁剪图中,在规定的预算中升级尽可能多的等级。效果是可能快速移动地形且有较低的频率细节。
地表阴影。如果必要,正常地图可以很快地从几何图形中计算,并使用与几何图形相同的LOD结构。
几何裁剪图也能够有这样两个新的运行时间功能:压缩。由于只有裁剪图需要扩展成顶点数据,地形锥体的剩余物可以以压缩格式存储。锥体等级之间的剩余物可以使用2D图像编码器来计算。很高的数据相关性允许压缩因数在50到100左右。将地形整个地存储在存储器中,避免了页面调度停顿。
合成。简单栅格结构允许高速的地形合成,以便通过程序生成的细节放大被粗略地指定的几何图形。
局限性。在一些情况中,所描绘的网格的细节远比现有LOD方案中的复杂。本来,由于几何裁剪图具有统一的细节(各处以及所有频率上的),并且因而不能从本地适应性中受益。另一方面,网格是规则的并且驻留在视频存储器中,并且因而呈现了用于该最差情况的最佳描绘性能。另一个局限性是假定地形具有有边界的频谱密度。例如,一个高的类似于针的特征将会演变成视图,这有一些太迟了。幸运的是,实际的地形运转良好并且没有表现出上述问题,而且建筑物植物和其它组成了环境的对象被分别地使用其它LOD技术描绘。
计算环境附图9和下面的论述想要为一个执行操作所用的适合的计算环境提供简短、通用的描述。将会在计算机程序的计算机可执行指令的通用环境中描述本发明,上述计算机程序在计算机和/或网络装置上运行,本领域技术人员可以认识到本发明还可以在其它程序模块的组合中实现。通常,程序模块包括例行程序、程序、组件、数据结构等,其执行特定任务或实现特定摘要数据类型。此外,本领域的技术人员可以理解本发明可以用其它计算机系统配置来实行,上述计算机系统配置包括多处理器、系统、基于微处理器电子装置、微型计算机、大型计算机、网络应用程序、无线装置等。还可以扩展在联网的计算环境中实行,或在单个计算机中实行。
参照附图9,用于执行的典型系统包括一个传统计算机920(例如个人计算机、膝上型电脑、服务器、大型和其它种类的计算机),还包括处理单元921、系统存储器922和系统总线923,该总线将不同的系统组件连接到处理单元921,系统组件包括系统存储器。处理单元可以是任意商用处理器,包括Intel x86,从Intel到其它的奔腾处理器和兼容的微处理器,包括Cyrix、AMD和Nexgen;阿尔法来自数字式;MIPS来自MIPS技术、NEC、IDT、西子和其它的,并且PowerPC来自IBM和Motorola。成对的微处理器和其它的多个处理器结构也可以用作处理单元921。
系统总线可以是总线结构的多个类型的任意一种,其包括一个存储器总线或存储控制器、外围总线和本地总线,其使用例如PCI、VESA、AGP、微通道、ISA和EISA等传统总线结构。系统存储器包括只读存储器(ROM)924和随机访问存储器(RAM)925。基本输入/输出系统(BIOS)包括基本例行程序,其帮助例如启动期间在计算机920中的元件之间传递信息,该基本输入输出系统存储在ROM924中。
计算机920还包括硬盘驱动器927、磁盘驱动器928,其例如用于从可移动磁盘929中读出或写入,还包括光盘驱动器930,其例如用于阅读CD-ROM盘931,或从其它光学媒介读出或写入。硬盘驱动器927、磁盘驱动器928和光盘驱动器930分别通过硬盘驱动接口932、磁盘驱动器接口933和光盘驱动接口934,连接到系统总线923,驱动器和与其相联的计算机可读媒介提供了用于计算机920的数据、数据结构、计算机可执行指令等的不可擦写存储。虽然上述的计算机可读媒介涉及硬盘、可移动硬盘和CD,本领域普通技术人员可以理解磁带、闪速存储卡、数码视频任务、伯努利盒式磁带等也可以在典型的操作环境中使用。
许多程序模块可以存储在驱动器和RAM925中,除了上述的技术956的实现之外还包括操作系统935、一个或多个应用程序936、其它程序模块937和程序数据938。
用户可以通过键盘940和例如鼠标942的指示装置,向计算机920输入命令和信息。上述和其它输入装置通常通过串行端口接口946,连接到处理单元921,上述串行端口946耦合到系统总线,但是也可能与其它接口相连接,例如并行端口、游戏端口或通用串行总线(USB)。监视器947或其它类型的显示装置也通过一个接口连接到系统总线923上,例如视频适配器948。除了监视器之外,计算机典型地包括其它外围输出装置(未求出),例如扬声器和打印机
计算机920在网络环境中操作,该网络环境使用逻辑连接到一个或更远程计算机,例如远程计算机949。远程计算机949可以为服务器、路由器、对等设备或其他通用网络节点,并且典型地包括很多或所有上述与计算机920相关的元件,虽然只示出了一个存储器存储装置950。逻辑连接图解为包括本地局域网(LAN)951和广域网(WAN)952。上述网络环境在办公室、企业范围计算机网络、企业内部互联网和互联网中是很普遍的。
当在LAN网络环境中使用时,计算机920通过网络接口或适配器953连接到本地网951。当在WAN网络工作环境中使用时,计算机920典型地包括调制解调器954或其它在例如互联网的广域网952上建立通信(例如,经过LAN951和网关或代理服务器955)的其它设备。可以是内置或外置的调制解调器954经过串行端口接口946,连接到系统总线923。在网络环境中,图解为与计算机920或其端口相关的程序模块或其的一部分可以存储在远程存储器存储装置中。可以理解所示的网络连接是典型的,并且可以使用在计算装置之间无线或有线地建立一个通信链接。
备选方案参照图解的例子,已经描述并阐明了本发明的原理,可以理解能够在排列和细节上调整例子,而不背离上述原理。另外,对于普通计算机科学家来说是明显的,即可以将部分例子或全部例子与其它例子的其它部分全体或部分进行组合。可以理解这里描述的程序、进程或方法除非指明否则并不与计算机设备的任何特定类型相关,也不限于上述类型。通用或定制的计算机设备不同类型可以一起使用,或根据这里所讨论的教导,来执行操作。软件中示出的所述的实施例的元件可以以硬件实现,或者相反。来自一个例子的技术可以合并到其它例子中的任一个。
考虑到有很多可能的实施例,本发明的原理可以应用其中,应当意识到细节只是说明性的,并不能看成是限定本发明的范围。我们宁可要求本发明所有这样的实施例,以及可能落入下面的权利要求及其相等物的范围和实质的所有
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈