图像几何变换的DSP算法研究与实现
扫描二维码
随时随地手机看文章
B型超诊断仪是运用超声传导技术和超声图像诊断技术的一种医疗诊断仪器,它主要用亮度调制方式来显示回波信号的强弱,反射回的时间反映扫描的深度,从而反映人体内部结构特征,也称作“断层图像” [1]。其中数字扫描变换的精度直接影响图像的分辨率和几何失真度,变换算法的复杂度直接影响图像处理运算量和图像处理的实时性,也直接影响后续图像处理的质量。
DSP易于满足图像处理中运算量大、精度高、实时性强、数据传输速率高等要求。采用高速DSP芯片作为B超图像数字扫描变换的核心数据处理单元,能很好地实现不同B超图像处理算法,且能直观、快速地观察到变换结果,实用性强[2]。此外,对于一些新型的运算量较大的图像处理系统,DSP也能很好地进行扩展,从而使高速B超图像处理系统得到广泛的使用。对于一些新型的运算量较大的B超图像处理系统,DSP也能很好地进行扩展[3]。
1 图像的几何变换
一个完整的B超系统如图1所示[4]。
当B超探头获得激励脉冲后发射超声波,经过一段时间延迟,再由探头接收反射回的回波信号,探头接收反射回来的回波信号经过滤波、对数放大等信号处理[5],由DSC电路进行数字变换形成数字信号,在CPU控制下进一步进行图像处理,再同图表形成电路和测量电路一起合成视频信号送给显示器形成B超图像,也称二维黑白超声图像。B超的超声探头按形状通常可分为线阵式和凸阵式。线阵式和凸阵式均用亮度表示回波信号的强弱,反射的时间长短表示扫描的深度。线阵式B超探头的形状为矩形,扫描采集回来的信号为一个矩形,通过处理后可直接在显示器上显示。而凸阵式B超探头为圆弧形,它接收到的回波信号为一个扇形的信号,需对它进行几何变换才能变为适合人眼观察的图像。线阵式和凸阵式回波信号的示意图如图2所示。
由图2可知,凸阵式扫查方式比线阵式扫查方式的视野更大,且凸阵式的物理外形更与人体接近。凸阵式扇形扫查B超的前部为圆弧形,相应的B超图像称为扇形图像,即为一散形面,其中散角为凸阵两边阵之角度,散形中心为探头弧线圆心,散形半径则与探头半径和B超探测深度有关。换能器均匀分布在圆弧面上。许多阵元沿该圆弧面排列,此类换能器中的阵元按顺序发射和接收超声波,这些超声扫查线对应图像存储器的列地址,每条扫查线上的样本对应图像存储器的行地址,采样值依次写入图像存储器。
凸阵式扇形扫查的回波信号为一个扇形,可将它看做极坐标形式,图3显示出这种极坐标形式的采样点与光栅扫描显示像素的位置关系。从图3中可见,B超所采集到的回波信号为一个极坐标形式的扇形面,而显示器的像素分布为一个直角坐标的矩形。同时,从图4中可以看出信号采样点与显示像素点的位置并不一一对应,相邻扫查线之间还有很多空缺的像素点,这种现象在远场尤为明显[6]。设计DSP算法,根据空缺像素周围的回波信号采样的近似值,并在显示此图像之前将这些近似值插入到相应的空缺处,使图像均匀连续。同时,B超检查对于图像的质量以及实时性要求都很高。要提高图像质量就要增加处理精度,以提高图像的分辨率,但处理精度要求越高,则需存储器字长越长(字长越短,则图像数字化时的量化误差和量化噪声均加大),对相同大小的一帧图像所需存储器的容量越大。因此系统完成一帧图像的数字处理所需时间加长,使得系统的实时性得不到保证。而且,算法的复杂度和运算量也将直接影响到图像的实时性。因此,必须通过设计相应的DSP算法以及运算精度来保证变换后的图像的分辨率和实时性。
2 图像几何变换的DSP算法研究
B超是一种分辨率和实时性要求都很高的仪器,采用有效的DSP算法是提高B超整体性能的关键。不同的DSP算法运算量会有很大的差异,运算量越大,图像越清晰,处理时间越长。现代DSP算法就是在分辨率和运算量之间寻找折中,典型的算法分为一维线性算法和二维线性算法。
2.1 一维线性算法
NNIA算法是最早的一维线性变换算法,它主要运用直角坐标与极坐标之间的几何变换关系来实现。凸探头采集到的信号为一个扇面,可视为极坐标的形式,显示器的像素分布则是矩形,可视为直角坐标方式。通过极坐标与直角坐标的变换关系,可得到每个回波信号在显示器上的对应值:
通过这种算法,每个回波点都能求出相应的像素值并进行填充,而对于给定夹角的扇形,回波点所对应的图像可以预先计算出来,而且采用这种算法简单直观。分析其运算量,从算法上看,假设总共有X个回波点,每个回波点进行几何变换需要计算正弦和余弦的值和两次乘法。
改进NNIA算法是在NNIA算法的基础上建立起来的,它从像素点反过来寻找对应回波点来对像素进行填充。由于像素点是连续的,因此每个像素点都能找到与其相对应的回波数据的值,算法模型如图5所示。
首先通过极坐标与直角坐标的对应关系计算出像素点在极坐标下的对应点P,再找出与P点相邻的4个回波点A、B、C、D(其中A、C属于同一波束,B、D属于同一波束)。判断A、B、C、D谁最靠近P点,就将这点的值赋值给P,这样就完成了极坐标对直角坐标值的填充。
该算法运用直角坐标系下的像素点反回来找对应极坐标下的回波点,且一个像素点要找到与其对应的4个相邻的回波点,运算量比NNIA大。若显示器像素点的个数为X个,则采用改进NNIA算法进行几何变换,需要进行两次正余弦变换和4次乘法运算。
2.2 二维线性算法
二维算法中最具有代表性的算法就是R-Theta。R-Theta算法在改进NNIA算法的基础上,消除由于舍入或截断所带来的图像失真。R-Theta算法模型如图6所示。
它也是由直角坐标的像素点对应到极坐标形式的回波点。与改进NNIA算法不同的是,R-Theta采用二维的算法处理。R-Theta算法如式(2)所示,其中,lAE、lBF为AE、BF距离百分比,θEP为EP角度百分比。
分析R-Theta算法的运算量,若需要确定X个像素点,每个像素点有正余弦信号的变换各一次和6次乘法运算。由此可以看出,R-Theta算法的运算量是三种算法中运算量最大的。
3 DSP实现及实验结果分析
假设有一夹角为60°、128阵元(24阵元为一组)的B超凸阵探头(探头的半径为60 mm,扫描深度为200 mm),采集到的回波信号为256灰度级的128像素×512像素的扇形数据。本次设计采用TMS320C64X系列的DSP。C64X定点DSP是业界公认的处理能力最强的数字信号处理器,在工作时钟达到1 GHz时,C64X DSP的信息处理能力最高可达到8 000 MIPS。C64X DSP除了运行在高频率的工作时钟外,还利用特殊指令功能在一个时钟周期内处理多任务。这些特殊指令使得C64X可以更有效地应用在一些关键领域,诸如数字通信物理层信号处理及视频和图像的处理。利用DSP的软件仿真系统实现仿真,最后将程序加载到开发板上运行,查看运行效果,分析成像精度、运算量等性能指标。算法仿真图如图7所示。
由图7可以看出,采用NNIA算法,波束与波束之间存在间隙,使得对显示器的几何变换并不连续,而且,显示器像素的位置是整数,因此坐标点计算存在舍入或截断误差。这样,原先回波点对像素点的填充可能会被邻近回波点的值所覆盖,图像就会丢失信息产生失真。采用改进NNIA算法,因为它采用的是由像素点对应回波,则每个像素点都能找到与其对应的像素值,不会出现像素点无值的情况,所以也就不会出现NNIA算法中出现的空缺像素点的情况。但由于算法本身的原因,相邻4个回波点之间可能包含多个对应的像素点,即一个区域内的多个像素点被相同的值填充,这使得图像上出现亮斑,图像的整体效果不是很好,给诊断带来不便。R-Theta有效地避免了改进NNIA算法中的一个像素值对应多个像素点的情况,也就不会产生亮斑。
采用R-Theta减小了舍入误差和截断误差,故能得到最高的分辨率,图像更加逼真。虽然R-Theta在以上的算法中运算量最大,但在现如今的DSP运算条件下,实验证明,采用R-Theta完全可以实现图像的实时显示,并且图像的质量也得到了有效的保证。同时,算法很好地保留了原始信息,便于实现图像的后续处理。
参考文献
[1] 周建,钱进.B超图像的计算机实时成像研究[J].声学技术,2003,22(3):195-198.
[2] 张荣,邓长军.DSP在图像处理中的应用[J]. 集成电路与元器件研究,2003,5(12):41-43.
[3] 裘云.DSP技术及前景分析[J].微计算机信息,2000,16(15):60-66.
[4] 王碧春.实现基于PC机的DSC算法研究[R].电子科技大学,2002.3.
[5] 冯若.超声诊断原理与设计[M]. 南京:南京大学出版社,1999.
[6] WEBER P K, LEMOR R M. System for research and development in medical ultrasound imaging. Medical device technology, 2004:35-37.