使用关联决策机制合成三维图形图像的方法和系统技术方案

技术编号:2947233 阅读:168 留言:0更新日期:2012-04-11 18:40
一种方法和系统(51),用于通过检查与每个子图像中的相同空间位置相对应的像素的深度值,并对具有最大深度值的像素的内容进行合成,来对多个三维子图像(Zi,Pi)(i=1,2,…,R)进行合成,从而显示在显示装置(55)中。将深度值分为两个或更多个二进制片段,其中片段的位长度根据其重要级别来确定。在第一步骤中,同时比较具有相同重要级别的片段的数值,由此通过选拔矩阵(53)来确定一组,该组指定了其最重要片段的数值最大的深度值,并为最不重要片段估算一等级,该等级表示与重要级别相同的其他片段的数值相比它们的数值大小。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机图形渲染领域。更具体地,本专利技术涉及一种将多个三维/深度光栅图像重组为二维图像的方法和装置。
技术介绍
在多种类型的信息处理实施中,正在努力提高计算机图形渲染的性能。提高渲染性能的一个有吸引力的尝试是基于使用多个图形处理单元(GPU),这些图形处理单元一起合作,以并行渲染单个场景。存在三种利用多个GPU来渲染图形数据的主导方法。这些方法包括时域合成,其中每一个GPU都渲染下一个连续帧;画面空间合成,其中每一个GPU都渲染每一帧的像素的子集;以及基于场景的合成,其中每一个GPU都渲染数据库的子集。在时域合成中,每一个GPU都渲染下一个连续帧。这种方法的主要缺点是使每一个GPU都渲染整个帧。因此,渲染每个帧的速度被限制为单个GPU的渲染速率。尽管多个GPU使得能够实现较高的帧速率,但是在时域合成应用中,在系统对用户输入的响应时间中引入了延迟(即,有害等待时间(impairing latency))。由于在任意给定时刻,仅有一个GPU在显示已渲染的帧,而所有其他GPU正在渲染序列中的一系列帧中的一个帧,所以通常会产生这些延迟。为了保持稳定的帧速率,该系统延迟进行用户输入,直到最初接收到该用户输入的特定GPU循环完序列,并再次显示其渲染的帧为止。在实际应用中,该条件用于限制在系统中使用的GPU的数量。与时域合成应用相关的另一个困难涉及各个GPU应该能够访问的大数据集合,因为在这些应用中,各个GPU都应该能够访问用于图像渲染的全部数据。这通常是通过以下操作来实现的保持大数据集合的多个备份,以防止由于访问单个备份的多个尝试而可能导致的冲突。画面空间合成应用在处理大数据集合方面存在类似的问题,因为各个GPU都必须检查整个数据库以确定哪个图形元素落入该画面的属于它的部分中。这种情况下的系统等待时间相当于通过单个GPU渲染单个帧所需的时间。场景合成方法(即本专利技术所涉及的方法)消除了上述的等待时间问题、对保持数据集合的多个备份的要求,以及在由各个GPU处理整个数据库时所涉及的问题。场景合成方法非常适于需要渲染大量几何数据的应用。通常这些应用是CAD应用以及可比较视觉仿真应用(被视为“观察者”),这意味着已经对数据进行了预先设计,以使得它们在空间中的三维位置不受用户的交互控制。然而,用户可以对观察者的位置、观察方向以及图形数据的规模进行交互控制。用户还可以控制对数据的子集的选择,以及对其进行渲染的方法。这包括对基本数据的图像照明、色彩、透明度和其他视觉特性的效果的控制。在CAD应用中,数据倾向于非常复杂,这是因为通常该数据是由显示列表或顶点阵列处的大量几何实体构成的。因此,单个帧的构成时间倾向于很长(例如,对于2千万个多边形通常为0.5秒),结果降低了整个系统响应速度。场景合成(例如基于对象的分解)方法基于多个GPU之间的数据子集的分布。数据子集在GPU管道(pipeline)中进行渲染,并被转换为多个片段(子图像像素)的帧缓冲(FB)。必须合并多个FB的子图像,以生成要显示的最终图像。如图1所示,对于最终图像的X/Y平面内的各个像素,存在与由FB的子图像表示的不同图像深度相对应的多种可能值。各个GPU在每一个画面的(X/Y)坐标处最多生成一个像素12。该合成像素12是实现透明度所需的去除隐藏表面、阴影以及混色的结果。由GPU生成的各个像素12都保持不同的深度度量(Z值),必须对最高的Z(最接近观察者的)分解这些Z值。最终仅允许一个像素通过。各个FB的子像素的合并是以下确定的结果由FB提供的多种可能像素值12中的哪一个值(10)表示在观察者的视野中可见的最近点。然而,将部分场景数据合并为一个单个光栅,仍会导致现有技术中的性能瓶颈。由于多个光栅的合成特性的不足,所以现有技术中的并行度级别受到限制。通常通过Z缓冲来执行两个光栅的合成,Z缓冲是用于执行隐藏表面消除的硬件技术。在现有技术的传统方法中,Z缓冲仅允许一次合并两个光栅。如图2A所例示的,传统的硬件合成技术通常基于成对光栅的迭代对照(iterative collating)处理(S.Molner“Combining Z-bufferEngines for Higher-Speed Rendering,”Eurographics,1988),或者基于管道技术(J.Eyes at al.“PixelFlowThe Realization,”ACMSiggraph,1997)。在S级的log2R个步骤内执行这些技术的合并,其中R是渲染GPU的数量。在对照的情况下,在每一个这种比较器(MX)处完成两个深度度量之间的比较所需的时间是log2Z,其中Z是场景的深度域。例如对于具有24位每像素的典型深度缓冲器,通常在24个时钟内进行两个Z缓冲器的比较。由于在现有技术中仅允许一次合并两个Z缓冲器,所以通过分级的方式进行多个光栅的合成。这些合成结构的复杂度是O(log2R),使得性能受R(图形管道的数量)的影响很大。为了增大R值,合成时间超过了为实时动画分配的时隙。在实际应用中,该条件用于限制在系统中使用的GPU的数量。图2B示出了通过提高并行度实现的性能的理论提高。合成时间随复杂度因子O(log2R)而增大。合计时间在(例如)16个管道时开始增大。很明显,在这种情况下,将并行度级别增大为16以上没有任何优点。软件技术通常基于利用P个通用处理器来对R个GPU的输出进行合成(E.Reinhard and C.Hansen“A comparison of Parallel CompositingTechniques on Shared Memory Architectures.”EurographicsWorkshop on Parallel Graphics and Visualisation,Girona,2000)。然而,这些解决方案通常需要使用(i)二进制交换,(ii)并行管道,和(iii)共享存储合成器,这极大地提高了复杂性和这些实施的成本。软件技术中最有效的实施是共享存储器合成器方法(也称为基于分布式存储器体系结构的“直接发送”)。在该方法中,如图3A的方框图和图3B的伪代码所示,通过使用附加的GPU(渲染器),提高了渲染子图像的计算能力。在图3A所示的系统中,两个合成器(CPU,p0和p1)同时对由3个渲染器(GPU,B0、B1和B2)生成的同一子像素进行操作。在这些CPU之间分配计算任务,每一个CPU都执行对相同图像的一半的合成。众所周知,对于任意给定数量的GPU,可以通过增加并行合成器的数量来提高合成的速度。然而,渲染器的数量增加严重地降低了性能。该方法的复杂度为O(N*R/P),其中N是光栅(图像)中的像素数量,R是GPU的数量,而P是合成单元(CPU,Pi)的数量。该技术中的合成处理在R-1次迭代中完成。在对SGI的Origin 2000超级计算机实施该技术时,使用多个CPU来执行合成。图4中示出了由该系统执行的合成的结果。图4表示这种方法的开销,该系统所需的合成时间超过渲染所需时间的六倍。上述所有的方法并未提供解决用于将大量子图像数据合成为一个图像的现有技术方法的问题的满意方案。本专利技术的目的是提供一种方法和系统,用于在接近实时观看的情本文档来自技高网...

【技术保护点】
一种用于从多个数Z↓[1]、Z↓[2]、…Z↓[R]中检测最大数的方法,该方法包括以下步骤:a)将所述数中的每一个都分为两个或更多个二进制片段Z↓[j]↑[(N-1)],Z↓[j]↑[(N-2)],…,Z↓[j]↑[(0)],其中所 述片段的位长根据其有效位的级别来确定,并且根据其有效位的级别来设置多个所述片段集合,其中第一片段集合Z↓[j]↑[(N-1)],Z↓[j]↑[(N-1)],…,Z↓[j]↑[(N-1)]包括所述数的最高位片段,而最后片段集合Z↓[j]↑[(0)],Z↓[j]↑[(0)],…,Z↓[j]↑[(0)]包括所述数的最低位片段;b)同时比较具有相同有效位级别的片段Z↓[1]↑[(K)],Z↓[2]↑[(K)],…,Z↓[R]↑[(K)]的数值,确定指定了其最高位片段的数值最大 的数的组,并对最低位片段评估表示与相同有效位级别的其他片段的数值相比它们的数值大小的等级;c)从第二片段集合Z↓[1]↑[(N-2)],Z↓[2]↑[(N-2)],…,Z↓[R]↑[(N-1)]开始,对与所述组相对应的数的片段的等级 进行比较,并且从所述组中去除其等级小于与所述组中的另一数字表示相对应的最高等级的任何数字表示;d)重复步骤c),直到到达最后片段集合Z↓[1]↑[(0)],Z↓[2]↑[(0)],…,Z↓[R]↑[(0)]为止,或者直到所述组指定了 单个数为止。...

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:罗文巴卡拉施奥菲雷米兹
申请(专利权)人:鲁西德信息技术有限公司
类型:发明
国别省市:IL[以色列]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利