一种预投影光线投射体绘制的并行处理方法

文档序号:6466248阅读:228来源:国知局
专利名称:一种预投影光线投射体绘制的并行处理方法
技术领域
本发明涉及一种科学计算可视化处理技术,尤其涉及的是一种体绘制技 术中图像空间预投影的并行处理方法。
背景技术
现有技术中,以体绘制技术为代表的科学可视化技术可把抽象的数据变 换成易于被人接受和理解的直观形式一一图形,为理解、发现科学计算过 程中的各种现象、规律提供有力的工具。体绘制技术能产生三维数据场的整体图像,能包含数据场的大量细节, 绘制高质量的图像,但它涉及的数据量较多,计算量较大,因而绘制时间 较长,且难以利用传统的图形硬件实现绘制。虽然研究工作者在串行体绘 制算法的优化方面做了很多工作,但是随着应用领域的发展,数据规模急 剧扩大,绘制精度急剧增加,仅仅依靠对串行算法本身的优化已经无法满 足对绘制速度的需求。可视化(Visualization)把抽象的数据变换成易于被人接受和理解的直观 形式——图形。根据侧重面的不同,可视化可以分成三个分支科学可视 化(Scientific Visualization)、凄t据可i见化(Data Visualization)和信息可一见化 (Information Visualization)。科学可视化(Scientific Visualization),又称科学 计算可视化(Visualization in Scientific Computing),指运用计算机图形学和图 象处理技术,将科学计算过程中产生的计算结果转换为图形及图像在屏幕 上显示出来并进行交互处理的理论、方法和技术。科学计算可视化是20世纪80年代后期提出并发展起来的一个新的研究领域,是计算机图形学中的一个重要研究方向。它将数据挖掘、图形生成 技术、图象处理技术和人机交互技术结合在一起,其主要功能是分析和理 解输入到计算机中的多维数据,并将中间过程或分析结果用图形或图象形 象、直观地显示出来,供科研工作者和相关人员观察和使用。科学计算可视化的应用领域十分广泛,几乎涉及一切自然学科和工程领 域,其主要应用领域有医学、分子模型构造、工业无损探伤、考古学、地 质勘探、气象学、计算流体力学和有限元分析等。此外,科学计算可视化还可应用于空间探测、天体物理、数学领域等。以医学领域的数字化虚拟人为例。基于二维的计算机断层扫描(CT)数据、 核磁共振(MRI)数据以及真实人体的切片数据等三维规则数据场,利用人体 结构数字化和科学可视化技术可以重建出一个三维的数字化虚拟人,也就 是将人体结构数字化。通过计算机技术和图像处理技术,在电脑屏幕上显 示一模拟人体,再进一步将人体功能性的研究成果加以数字化,由信息科 学家将其转变为电脑的语言符号,赋加到这个人体形态框架上;经过与虚 拟现实技术的交叉融合,通过操作者的调控,这个"虚拟人"将能模仿真 人做出各种各样的反应。数字化虚拟人将人体结构数字化与可视化,建立起能够用计算机处理的 数学模型,使计算机的定量分析和精确模拟成为可能。随着信息获取和处 理技术的进步、数据采集精度的提高,虚拟人将在越来越广泛的领域内更 加精确地模拟人体的功能和行为,为医学、国防、汽车等多学科研究提供 应用基础。科学计算可视化可以大大加速数据的处理速度,使每时每刻都在产生的 庞大数据得到有效的处理、利用;它可以通过图片、图像表达蕴含在科学 计算数据中的信息,为理解、发现科学计算过程中的各种现象、规律提供 有力工具。总之,科学计算可视化将极大地提高科学计算的速度和质量, 从而使科学研究工作的面貌发生根本性的变化,最终给人们的社会生活带来巨大的便利。以医疗领域为例。在以往的影像医疗诊断中,主要是通过观察一组CT、 MRI的三维切片图像发现病变体,这主要依赖于医务工作者丰富的读片经 验,对图像进行定性分析。利用科学可视化技术可对二维切片图像进行二 维或三维分析及处理,如对人体器官、软组织和病变体的分割提取、三维 重建和二维显示,可以辅助医务工作者对病变体及其它感兴趣的区域进行 定性直至准确的定量分析,从而可以大大提高医疗诊断的准确性和正确性, 最终带来巨大的经济效益和社会效益。科学计算可视化的核心是三维数据场的可视化,对于三维体数据来说,有两类不同的可视化算法面绘制和体绘制。面绘制技术是指首先在三维 数据场中构造出中间几何图元,然后再由传统的计算机图形学技术实现画 面的绘制。面绘制方法有多种算法,各种算法的不同点在于所采用的近似 表面几何单元不同或几何单元尺度选择不同。典型算法有W. E.Lorenson 和H. E. Cline[LORE87]提出的MC方法(Marching Cubes)、 A. Doi[DOI91]提 出的MT方法(Marching Tetrahedral)、 H. E. Cline和W. E. Lorenson[CLIN98] 提出的剖分立方体法(Dividing Cubes)等。面绘制技术可以产生比较清晰的 等值面图像,而且可以利用现有的图形硬件实现绘制功能,使图像生成及 变换的速度加快,适用于绘制表面特征分明的组织和器官。但是面绘制技 术对数据分割要求高,且物体内部信息无法保留,不能反映整个原始数据 场的全貌和细节。体绘制技术并不构造中间几何图元,而是直接由三维数据场产生屏幕上 的二维图像,也称为直接体绘制。体绘制技术是近年来得以迅速发展的一 种三维数据场可视化方法。相对于足迹算法、体元投影算法等其他体绘制 算法而言,光线投射体绘制算法能绘制出具有更高质量、体现更多内部细 节的图像,是最基本、最常用的体绘制算法。由于光线投射体绘制算法需要对屏幕上的每一个像素进行光线投射和颜色计算,而且,当观察方向发生变化时,数据场中的釆样点之间的前后 关系也发生变化,这样就要对所有像素进行重新绘制,因此计算量极为庞 大且造成了大量的不规则访问,最终导致光线投射体绘制算法的绘制速度 达不到应用的要求。为了解决计算速度的问题,人们提出了各种的改进方法或加速算法,如 可以略过三维图像空区域的空间跳跃算法、累积透明度接近于数值时终止光线投射的射线提前终止法等。基于集群的光线投射并行绘制算法也从90 年代开始发展。下面将根据时间次序,对光线投射体绘制中的改进和加速 技术以及基于集群的光线投射体并行体绘制算法进行介绍。 1、光线投射体绘制加速技术M. Levoy第一个提出了光线投射(Levoy称其为"光线跟踪,,)体绘制 算法。首先,对体数据进行适当的预处理,例如去噪、重采样等;然后, 利用查找表来确定体素的不透明度值,同时利用Phong光照模型来确定体 素的颜色值;接着,沿着投射光线均匀采样、对采样点三次线性插值;最 后,用从后向前的方法合成颜色值和不透明度值,形成最后的图像。为了 提高图像的质量,Levoy采用了过采样的方法一一在原始数据点之间插入更 多的中间点。这种方法能够减少走样,提高图像质量,但是会增加计算的 开销。M. Levoy提出由前向后的图像合成方法。在这种新方法中,不透明值 必然逐步增大。当不透明值趋近于1时(例如Levoy选择不透明值0.95作 为光线终止的条件),说明该像素点的图像已经接近于完全不透明,后面的 体元不会再对该像素点的图像有所贡献,因而可以不再计算了。因此,由 前向后的图象合成方法可以省去部分颜色计算,使速度加快。M. Levoy采用八叉树方法组织体数据中的物体体元。体数据被递归均 匀子分并组成一个层次八叉树结构。在采用光线投射进行体绘制时,通过 遍历八叉树,光线可跳过包含当前采样点的最大空区域Tang对光线跟踪体绘制算法进行了改进。先对体数据场根据投射光线 进行重采样,然后再进行数据值分类、颜色赋值、不透明度赋值及明暗计 算等步骤。这种改进后的算法构造出的图像质量有所提高;同时,由于不 需要对全部数据点赋颜色值和不透明度值,可以减少计算量、节省存储空 间。PARC算法则利用物体体元的包围盒来除去体数据中物体体元周围的空 体元。该方法仅对由空区域包围的物体体元有效,对包含多个物体体元区 域的体数据或物体体元区域中含有空体元的体数据均无法作有效处理。Lee等人提出了 一种用于加速体绘制的自适应子分算法,该算法将体数 据均匀分割成一定大小的子数据块,每个子数据块包含若干体元。若子数 据块中的体元为空,则该块被标识为空。在其后的合并过程中,按一定的 顺序遍历子数据块,合并其中的空子数据块,并且生成尽可能大的空块。 在体绘制过程中,这种数据组织使得空块得以有效地跳过,从而加速了体 绘制。Wald等人提出了最小值/最大值kd-tree方法。虽然每个kd-tree节点都 需要存储最小值和最大值,增加了一倍的数据量;但是,由于能够通过比 较各个节点最小值/最大值来快速地滑过空白区域、整合同源区域,达到比 较理想的帧率。Knittel第一个利用单CPU系统用软件实现交互式光线投射体绘制算法。 当然,Knittel利用的ULTRAVIS系统虽然只有一个CPU,但是有像MMX 等和处理器无关的扩展;同时,采用利用了手工优化的汇编语言和SIMD 指令集进行编程。2、基于集群的光线投射体并行体绘制算法J. Nieh和M. Levoy提出了第一个并行光线投射体绘制算法。该并行算 法在MIMD模式的多处理器环境DASH上实现(此环境提供了 一个共享存 储区,同时各子处理器也有本地存储区),最大加速比能达到40 (48台处理器),最大的帧频为3Hz。该算法的基本思想是在开始绘制计算之前, 首先根据处理器数目进行一次粗略的任务分配,即将图像空间划分为大小 相等或接近的子区域,静态地指定给各处理器;每个子处理器进而将对应 的子区域细分为适当大小的子块,于是每个子区域中的所有子块分别排成 一个队列。每个子区域的大小非常接近,所以经过第一步粗略的任务划分, 整个系统的负载平衡已经有了一定的保证。又由于实际的任务调度是在子 块粒度下进行的,所以可以进一步改善负载平衡状况。具体的方法是, 一旦某个子处理器对应的任务队列为空,它可以直接接 管其他处理器尚未完成的部分子任务。实际上,这种接管过程中被接管的 处理器不必知晓和参与("任务窃取"算法)。在光线投射体绘制算法中, 所有计算发生的物理空间的位置难以预先确定,因此数据在空间上的相关 性极强。当某个子处理器在计算过程中需要访问的数据不在本地存储区, 就只能通过数据通信来获得。Meh和Levoy在共享存储区中保留一份原始 数据场,供所有子处理器读取;在各个处理器的本地存储区之间,数据按 照交叉存储的方式分布,按照页面交换的方式进行通信。C. Montani等人提出了 一种混合式光线投射并行体绘制算法,该算是将 图像空间分割成矩形的条状子区域,各部分大小相等或接近;相应地,对 处理器节点进行分组,每组拥有相同数目的节点。绘制计算的任务划分按 照条状子区域为单位进行,即一个子区域对应于一个子任务。在通过令牌 传递方式来估计出各分组的相对计算能力之后,可以静态的方式在各组之 间进行子任务分配;当然,这样就要求每个组内部都拥有一套完整的数据 场拷贝。通过对计算任务和处理节点的合理划分和组织,这类算法能够有 效降低数据通信量;因为对各分组计算能力做了预先估计,虽然任务划分 方式是静态的,但是仍然可以得到满意的负载平衡。但其缺点在于数据量 冗余量过大,实际上整个系统的存储消耗不仅取决于原始数据的规模,而 且与组的数目成正比。K. Ma等人提出了另外一个光线投射并行体绘制算法,由Kwan-Liu、 K,Ma等人分别在CM-5以及工作站机群环境中实现。和所有的其他绘制算 法一样,本算法包括两个主要的计算过程对体数据的重采样和图像合成。 整个算法按照分治策略进行,重采样过程经过递归划分为最终由各处理器 并行完成,而图4象合成则通过回溯过程进行。任继成等人提出了非规则数据场并行体绘制算法(实质为"光线投射面 绘制算法"),该算法采用静态数据分布,避免了绘制过程中的重分布与计 算节点间的通信,并提出了优化的图像合成方法,使绘制与合成并行执行, 避免了网络通信的阻塞,提高了算法的并行性。静态与动态相结合的负载 平衡策略,进一步提高了算法的效率。邓俊辉等人提出了 一种基于并行虚拟机结构的光线投射并行体绘制算 法,该算法以二维切片为单位来划分和组织体数据,既降低了通信代价, 也保证了各子任务的数据局部性。在任务分配时,维护并使用性能指数数 据库,自适应式地确定各个子任务,较好地实现了负载平衡;同时使用一 种异步二分方法,减少了所有局部图像合并的时间。针对可视化算法在虚 拟机环境中的并行化实现,自行设计并实现了一个基于TCP/IP和Socket 标准开发平台PIPVR。易法令等人提出了一种基于BSP树的光线跟踪并行面绘制算法。该算 法通过分析视点与场景空间的关系,进行像素空间的划分,避免并行处理 任务分配的盲目性。上述现有技术的各处理方法中,通常需要对数据进行重新组织,系统开 销很大,而且数据的处理繁瑣复杂,处理速度比较慢。因此,现有技术还 有待于改进和发展。发明内容本发明的目的在于提供一种预投影光线投射体绘制的并行处理方法,实现在体绘制数据处理过程中数据处理的简化和快捷。本发明的技术方案包括一种预投影光线投射体绘制的并行处理方法,通过至少一通用计算机, 在体绘制的数据处理过程中包括以下步骤A、 计算三维体模型的包围盒;B、 将该包围盒向屏幕空间进行投影;C、 存储投影区域的相应坐标;D、 进行体绘制数据的并行处理。所述的并行处理方法,其中,所述步骤D还包括应用到一并行处理系 统中时的处理步骤如下Dl、由主节点向各计算节点分配数据处理任务;D2、所有计算节点在计算完一个任务块后,即立即向主节点发送中间 结果数据,并且同时开始下一个任务块的计算。所述的并行处理方法,其中,所述步骤D1中,所述主节点被分配较少 的计算任务。所述的并行处理方法,其中,所述步骤D1还包括Dll、记M为计算节点上划分的任务块个数,N为计算节点的个数(M >=2; N >= 2),预先估计计算量为CPU启动一个通信传输的时间, T。。mra,为主节点收集其它节点的结果数据所需的时间,则M = VT~/T-,;D12、主节点在计算之后收集其他计算节点的结果数据。本发明所提供的一种预投影光线投射体绘制的并行处理方法,由于采用 了预投影的处理方式,减少了数据的处理量,在并行处理时采用了计算与 通信重叠的延迟隐藏技术,提高了数据处理速度。


10意图;图2a-图2d分别示出了本发明方法实施例之一Photo—Head—1—260第50、100、 150和200张切片的原始图;图2e示出了 Photo—Head—1_260的效果参考图;图2f示出了 Photo_Head—1—260整体绘制效果图;图2g和图2h分别示出的是对骨骼、肌肉进行绘制的效果图;图2i和图2j分别示出的是骨骼和肌肉进行组合绘制时的两种效果图;图3a和图3b分别示意了本发明方法另 一 实施例CT_BostonTeapot的参照效果对比图;图3c、图3d、图3e和图3f分别展现了利用不同颜色映射且从不同角度对CT_BostonTeapot绘制的效果图;图4a所示为本发明方法"预投影"导致的性能对比示意图; 图4b为现有技术未使用"预投影"技术时的负载平衡示意图; 图4c所示为本发明方法采用"预投影"技术时的负载平衡示意图; 图5a为本发明方法中通信比为0.001时任务块个数对总体运行时间的影响图;图5b为本发明方法中通信比为0.0001时任务块个数对总体运行时间的 影响图;图5c为本发明并行体绘制处理方法的加速比示意图。
具体实施方式
以下结合附图,将对本发明的各较佳实施例进行更为详细的说明。 本发明首次提出一种与"裁剪,,方法思想类似的"预投影,,加速技术, 即在一通用计算机或由多个通用计算机组成的并行处理系统中,通过预先 把一个包含所有物体模型的包围盒按照预定角度向屏幕图像空间投影,屏 幕图像空间上投影以外的部分则不需要进行光线的投射处理,直接呈现出 背景的颜色,如图1所示,这样就对图像数据进行了分割,减少了数据处理的量,提高了数据处理的速度。本发明预投影光线投射体绘制的并行处理方法,在医疗检测、工业探伤 等特定应用中,由于物体空间中的有效物体模型个数较少、不需要关心物 体空间的背景差异,大部分从屏幕图像空间投射出的光线没有和有效的物 体模型相交,而直接呈现出背景的颜色,本发明方法中的"预投影,,技术 能有效地减少无用的光线投射计算,提高体绘制的处理速度。本发明的处理过程包括以下步骤,通过至少一通用计算机在体绘制处理过程中1、 计算三维体模型的包围盒;2、 将包围盒向视窗(屏幕空间)进行投影;3、 存储投影区域的相应坐标;4、 进行体绘制数据的处理。本发明所述体绘制数据的处理过程是在一机群的分布式和并行处理系 统中实现,此实现方式为现有技术所熟知,因此在此不再赘述。本发明方法中"预投影"技术可以把是否受体数据影响的图像区域进行 区分开来,有利于并行算法中任务分配的负载平衡。在以往的光线投射并 行体绘制算法中往往是直接对屏幕图像空间进行任务分割,动态或静态地 分配给执行单元,而由于无效的投影区域的存在(即不受体数据影响的投 影区域),任务单元的执行时间差异较大,造成了各个执行单元的负载非 常不平衡。基于"预投影"的任务划分能够剔除不受体数据影响的投影区 域,而对有效投影区域划分的任务单元之间差异性较小,从而有利于负载 平衡。因而本发明方法基于"预投影"技术对屏幕图像空间中的投影区域 进行了任务的划分和分配。在以往的光线投射并行体绘制算法中,主要有两种任务分配策略均分 策略和主从策略;同时,这两种任务分配策略分别决定了相应的图像合成在均分策略中,所有计算进程或节点有着等量的计算任务,在它们都完 成了计算之后,主进程或节点才开始收集结果数据。在结果收集的过程中, 其他节点不仅可能被闲置,也可能会因主节点资源有限而竟争、等待。而在主从策略中,进程或节点按功能被划分为计算节点和结果收集节点。主节点专门负责结果数据的收集,而不分配计算任务;而从节点专门 进行相关的任务计算,并定时向主节点发送计算结果。在这种方法中,主 节点的资源也将大大浪费。为了充分利用所有节点的资源,本发明方法采用了基于计算和通信重叠 的静态任务分配算法。在此算法中,所有计算节点不再需要等待所有任务 计算完成才向主节点传输结果数据,而是在计算完一个任务块以后就立即 向主节点发送中间结果数据,并且同时开始下一个任务块的计算;主节点 开始被分配较少的计算任务以充分利用计算资源,同时这使得其他节点在 最后隐式同步等待的时间更短。本发明方法的基于计算和通信重叠的静态任务分配算法,需要预先估计 在光线投射体绘制中的计算量。不妨设总的计算量(这里等同于计算时间) 记为,则c' = ;r—'—"。"+w—P。"。其中,图像绘制部分为可并行部分,所占计算量"i己为r"。'。""-"。〃 ; 不可并4亍部分记为c',-,。以往的光线投射并行体绘制算法中,在计算之后和通信之前,需要进行 同步。不妨假设这些并行算法获得了完全的负载平衡,每个处理机的计算 量为t—leumn/n (处理机个数记为N, n22)。主节点在计算之后收集其他节点的结果数据,所需的时间为T"自,。则以往的光线才殳射并行体绘制 算法执行的时间Tp^为力口速比为Speedup — Tserial/Tpara||e| — [Tscrjal_pan +^"parallel_part I^r^sefiaJjiail +TparalleLpar/ N+Tc。誦^时在本发明方法所提出的基于计算和通信重叠的静态任务分配算法中,计算节点不再需要等待所有任务计算完成才向主节点传输结果数据,而是在 计算完 一个任务块以后就立即向主节点发送中间结果数据,这使得其他节 点在最后隐式同步等待的时间更短。同时,主节点被分配较少的计算任务, 充分地利用主节点的资源。为了简化分析,假设系统只有一个节点收集结果数据,即主节点。继承上面的记号,并且记M为计算节点上划分的任务块个数,N为计 算节点的个数(M>=2; N>=2), T,W为第i个节点的计算量(计算时间)。 为了让各个节点之间的任务尽量平衡,建立如下方程Tc。mp(l) L Tc。mp (N 1) Tc。mp (0)+Tc。mm』加, Tcomp(0) + L + Tcomp(N-l) _ Tparailelj)art求解方程可得Tc,(l) - L _ Tcomp(N-l) - (Tc。咖』w+T—,ei』an)/N;由于每个计算节点分M次进行结果数据传输,最后结果数据传输的时间为T。。mmj)arl/M 。若记Ts'anjJart为CPU启动一个通信传输的时间,则每个计算节点将增加大约M w^的额外开销(由于CPU启动通信的时间比数据传输时间小很多,在上面的分析中忽略不记)。因此,本发明方法的光线投射并行体绘制算法执行的时间Tp』'为TpanJlei' 1^!," +M 丁s加』加十(Tc。j^』加+丁口咖||61^加XN+Tc。jjjj^』加/M由于M"^,相对其他时间要小很多,可以简化为 力口速比为Speedup _ Ts^/T—u — [Ts^^p^+T—^,]/[T咖",+(T。腿,+T,^,)/N+Twj^,/M]则本发明方法的光线投射并行体绘制算法与以往的并行算法的加速比之比为Speedup'/Speedup = Tparallel/Tparallel.[Tserial_part +TparaHel_part ^^"+Tcomm_part ]z[Tseraiijjajt十(Tc。mm』art +Tparajie|j)art V^+Tj^^^j^/^^] —[丁seriaJj)art "l"fTparallel_part ^^+1^^^^^ ]/[Tseraj|jjart+rrpara]leljjart/N+rTcommjjart * (1/M+l/N)]由于M和N均为大于2的正整数,贝寸1 ^ (1/M + 1/N)。故Speed叩'/Speed叩21 , 即本文的光线投射并行体绘制算法比以往的并行体绘制算法有更好的理论 力口i^t匕。下面,将对本发明方法中负载平衡模型最重要的参数一一计算节点分 配任务块个数M——进行详细说明。为了简化说明,假设系统只有一个节 点收集结果数据,即主节点;同时,认为节点个数N是固定的。如要取最小值,仅当F(M) = M^a^at+T^』加/M取最小值。即,仅当m = Vi;。咖,/Ts加声时,f(m)取最小但。在预投影技术和上述任务分配算法的基础上,以下就本发明方法在曙明,见以下程序代码的示例Read—And—Perprocess_Volume—Data (); If(vIDOfProc==i)Allocate—Tasks—To—Proci(); For(j = 0; j < vNumOfTasks; j++)Computing—Color_of—Pixels 0; Save—Color—of—Pixels—In—Proc (); Gather—Result—To—Proc0 ();Display—Result—In一Proc0 ();该并行处理过程主要针对图像绘制这个性能瓶颈进行了并行处理设计,利用对屏幕图像空间分块的粗粒度并行减小通信开销。同时,对主节点和 一般计算节点进行区分,在主节点中考虑通信的影响,来实现总体的负载 平衡。为了减少本发明方法并行化带来的额外开销影响,让计算和通信重 叠进行,掩盖了大部分的通信开销和同步延迟问题。本方法方法提出的光线投射体绘制并行处理过程可在曙光4000A服务 器共享平台上实现,曙光4000A服务器共享平台共有20个计算节点,每个 计算节点配有两个AMDOpteron(tm)的CPU,主频为1.6GHz,内存为4GB, 本地>磁盘1T,网绍 哽盘4T通过千兆网通信,所有计算节点通过一个百兆 网、 一个千兆网和一个InfiniBand网络相连,计算节点之间用MPI进行通 信。测试数据所采用的数据为美国数字人骨骼的CT轴向采样规则数据场, 数据大小为587 x 1878 x 341Bytes。为了验证本发明方法的算法正确性,以下给出光线投射体绘制算法在一 个PC和SMP平台上的绘制效果图。本发明该实施例的实验平台主要两个PC: CPU为Intel Pentium 4 2.4 GHz,内存512MB。SMP:两个AMD Opteron 1.6GHz的处理器,内存IGB。该实施例中用于实验的体数据主要有CT_BostonTeapot: 256x256x178, ll.lMB,内容为茶壶的CT数据。 Photo—Head—1—260: 587x341x260, 148MB,内容为头部的彩色切片数据。CT—Foot: 256x256x256, 16MB,内容为足部骨骼的CT数据。 Photo—Head—1—260是由260张头部的彩色切片组成的raw格式的体数 据,如图2a、图2b、图2c和图2d所示分别给出了第50、 100、 150和200 张切片的原始图。其中,不同颜色分别代表了头颅、肌肉以及人工对原始 噪声数据的处理。图2e给出了 Photo_Head—1—260效果参考图,该图由 3DMed软件绘制(3D Med软件是中国科学院自动化研究所开发的基于MITK的体绘制软件)。图2f给出了 Photo—Head—1_260整体绘制效果图, 图2g和图2h分别表示对骨骼、肌肉进行绘制的效果图。图2i和图2j分别 为骨骼和肌肉进行组合绘制时的两种效果图(颜色映射或传递函数有所不 同)。
图3a和图3b给出了 CT—BostonTeapot的参照效果图。图3a由 www.volren.org提供,图3b由3DMed绘制(3D Med是中国科学院自动化 研究所开发的基于MITK的体绘制软件)。图3c、图3d、图3e和图3f分别 展现了利用不同颜色映射且从不同角度对CT—BostonTeapot绘制的效果图。
如图2a给出了在曙光4000A服务器共享平台上,"预投影"技术对美国 数字人骨骼的CT数据绘制性能的影响,其中视窗大小为2048x2048,物体 空间采样率为10,图像空间采样率为2。如图2b和图2c所示分别给出了 是否使用"预投影"技术对负载平衡的影响。
如图4a所示,本发明方法采用预投影技术有利于并行算法的整体性能。 "预投影"把不受体数据影响的屏幕图像区域分离开来,只对受体数据影 响的投影区域进行绘制计算,减少了大量无效计算,有利于光线投射并行 体绘制算法的整体性能。
如图4b和图4c所示,本发明方法采用"预投影"技术有利于光线投射 并行体绘制算法中任务分配的负载平衡,基于"预投影,,的任务划分把是 否受体数据影响的屏幕图像区域区分开来,只对受体数据影响的投影区域 进行任务划分,这使得任务单元之间差异性较小,从而有利于负载平衡。
本发明方法一较佳实施例中,利用了千兆网进行通信,CPU启动一个 通信传输的时间Ts,art,=46M,;图像绘制部分等可并行部分,所占计算时间 记为— = i2s;算法并行化带来的通信开销为T_, = 80(Kto。
如图5a和图5b分别给出了本发明方法的通信比UT。。,为0.001和 0.0001时,处理器个数为4, 8, 16时,任务块个数M对总体运行时间T 的影响示意图。从图中可以看出,当每个计算节点的任务块M为8和16时总体运行时间最少,即分别取得了最好的性能。由前面的分析知 M』-V^^:-^^^^13。由此可以看出,实验结果和本发明方法的理 论分析是一致的。
加速比,由此可以看出,在处理机数目越大时,本发明的并行体绘制处理 过程的具有更好的加速比;随着处理机数目的增加,本发明方法的并行体 绘制算法的加速比增长更快,可扩展性更好。由于本发明的并行处理方法 在实现时,引入了更多的计算和判断等过程,从而增加了一些额外开销, 这些开销会导致在处理机个数较小时性能不佳;但在具有十个以上处理机 节点时,本发明并行处理方法所带来的性能增加将抵消额外的平衡负载开 销,因此具有更好的加速比,同时具有更好的可扩展性。
综上,本发明方法针对机群体系结构的特点,提出了一种光线投射并行 体绘制处理方法,该处理方法首先把体数据"预投影"到屏幕图像空间, 然后对投影区域按连续行进行任务划分,根据基于计算和通信重叠的静态 任务分配策略把不同计算量的任务分配给相应计算节点进行像素颜色值的 计算,每次绘制完一定的任务就开始收集中间图像结果,让颜色计算和结 果收集并行起来,很好地掩盖了通信延迟,同时较好地实现了负载平衡。 该处理方法在曙光4000A服务器共享平台上实现,获得了较好的加速比, 具有较好的可扩展性。
本发明方法中所有计算节点不再需要等待所有任务计算完成才向主节 点传输结果数据,而是在计算完一个任务块以后就立即向主节点发送中间 结果数据,并且同时开始下一个任务块的计算;主节点开始被分配较少的 任务块,本发明方法并给出了每个计算节点分配多少任务块的最佳估计, 大大减少了数据的处理量,提高了数据处理速度。
但应当理解的是,上述针对本发明较佳实施例的表述较为具体,并不能 因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准:
权利要求
1、一种预投影光线投射体绘制的并行处理方法,通过至少一通用计算机,在体绘制的数据处理过程中包括以下步骤A、计算三维体模型的包围盒;B、将该包围盒向屏幕空间进行投影;C、存储投影区域的相应坐标;D、进行体绘制数据的并行处理。
2、 根据权利要求1所述的并行处理方法,其特征在于,所述步骤D还 包括应用到 一并行处理系统中时的处理步骤如下Dl、由主节点向各计算节点分配数据处理任务; D2、所有计算节点在计算完一个任务块后,即立即向主节点发送中间 结果数据,并且同时开始下一个任务块的计算。
3、 根据权利要求2所述的并行处理方法,其特征在于,所述步骤D1 中,所述主节点被分配较少的计算任务。
4、 根据权利要求2所述的并行处理方法,其特征在于,所述步骤Dl 还包括Dll、预先估计计算量记T^,为CPU启动一个通信传输的时间,主 节点在计算之后收集其他节点的结果数据,所需的时间为7。~;记M为计算节点上划分的任务块个数,则M = VT —/T"—;D12、主节点在计算之后收集其他计算节点的结果数据。
全文摘要
本发明公开了一种预投影光线投射体绘制的并行处理方法,通过一通用计算机,在体绘制的数据处理过程中包括以下步骤计算三维体模型的包围盒;将该包围盒向屏幕空间进行投影;存储投影区域的相应坐标;进行体绘制数据的并行处理。本发明方法由于采用了预投影的处理方式,所有计算节点不再需要等待所有任务计算完成才向主节点传输结果数据,而是在计算完一个任务块以后就立即向主节点发送中间结果数据,并且同时开始下一个任务块的计算;主节点开始被分配较少的任务块,本发明方法并给出了每个计算节点分配多少任务块的最佳估计,大大减少了数据的处理量,提高了数据处理速度。
文档编号G06T1/20GK101324962SQ200810142640
公开日2008年12月17日 申请日期2008年7月21日 优先权日2008年7月21日
发明者冯圣中, 刘思源, 姜志阳, 文高进, 樊建平, 倩 郑, 波 黄 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1