近年来,随着计算机技术的高速发展以及现代先进的医学影像检测技术的出现和图像工程领域应用的不断延伸,医学超声诊断技术因为其使用简单方便、对人体无侵害性、实时性、廉价性等特点和优势,在现在的医学诊断学中有着难以取代的作用。在医学数字彩超系统上,实时扫描转换是一种让超声图像可视化的关键技术,也是任何一个超声成像系统必须拥有的处理模块。因为要将超声图像在显示屏上进行正常显示,就需要将数据从极坐标系转换到标准显示设备的笛卡尔坐标系。这个坐标转换需要通过求反正切来决定扫描角度和计算平方根得到沿半径方向的像素的位置。虽然在现在的实时系统中已经有相关应用,但这个模块的这些核心运算对于超声这种高实时性系统来讲,仍然希望使用廉价的硬件得到更高的性能。同时扫描转换模块又是超声成像系统所有功能模式必须经过的环节。这一功能模块的性能提升将对整个系统性能的提高产生重要的影响。
如何加速扫描转换处理环节,有许多的研究小组提出了很多方法。文献[中,研究者为了消除极坐标处理方式的大量冗余计算,提出在进行插值运算前把所有极坐标计算结果存储起来,然后进行查表,以加快计算速度。还有一些研究者研究的是对于超声成像设备使用定制的数字信号处理器(DSP)和现场可编程门阵列(FPGA)。无论是扩大存储空间,还是使用定制硬件,基于硬件的方式都会使系统造价变得太高。因此,本文通过研究新近出现的具有通用计算能力的Fermi架构GPU并行处理平台,提出了一种利用GPU通用计算能力的超声系统实时扫描转换并行算法。
随着多核时代的到来,并行处理技术是解决实时系统计算需求问题的最有效途径之一。与多核CPU相比,近年来出现的具有通用计算能力的GPU,特别是英伟达公司新近设计完成的Fermi架构GPU,在通用计算方面,表现出更为明显的优势。在保持图形处理性能的前提下,Fermi架构将通用计算技术提升到前所未有的高度。与传统的处理器不同的是,在硬件架构方面GPU上多数的晶体管被用来设计为计算单元,而用于指令流的控制单元较少。CUDA2.0以上的设备都是采用Fermi并行处理架构的GPU,它主要在GPU处理能力、显存缓存机制和计算精度等方面使GPU更加适合于数据的并行计算。在航天航空、地理信息分析等各种应用领域中,GPU都已经得到了成功应用,在超声成像系统中的应用才刚刚起步。
CUDA程序设计实现方式与一般的CPU处理是有所不同的。程序流程一般包括数据由主机端到设备端的传输、CUDA核函数执行配置和处理结果的返回(由设备端到主机端)。CUDA程序的设计关键是发挥并行处理平台的计算能力。在设计中一般需要考虑这几个方面:首先是存储器操作,CPU的内存存取延迟主要是通过多级缓存来消除,而CUDA主要通过在超声成像系统中扫描转换是让超声图像较好地在屏幕上进行显示所必须的处理步骤。由于这一处理步骤中存在运算复杂的插值运算,特别是在横向使用的三次方插值,使其成为临床实时成像系统中提供帧速率的一大性能提升瓶颈,为此本文研究并提出了一种基于新兴的高性能并行计算平台Fermi架构GPU(Graphicsprocessingunit)的并行处理算法,该算法基于GPU并行处理平台,主要包括初始化阶段、图像插值以及图像显示这3个处理环节。该算法不仅保持了与现有计算平台系统的计算精度,而且显著地提高了这一处理环节的计算速度。数据测试结果显示,采用Fermi架构的GPU处理在得到与基于CPU的实现完全一致的扫描转换效果的同时,取得了较大的加速效果。对于3121×936的图像数据能够达到1558fps的帧率,速度提高了大约664倍。........