一种超声图像反转显示的方法

文档序号:2648822阅读:1177来源:国知局
专利名称:一种超声图像反转显示的方法
技术领域
本发明涉及超声诊断设备技术领域,具体涉及一种超声图像反转显示的方法。

背景技术
现有技术的数字扫描转换器(DSC)系统由以下部分组成(1)扫描器I/O接口电路;(2)多普勒处理器单元;(3)彩色血流处理器电路对从扫描器I/O电路接收到的数字化血流信号进行检测,然后把血流信号和二维信号叠加在一起;(4)M方式、生理频谱电路把M方式生理信号、多普勒等数字信号,根据需要进行处理后,送入视频I/O接口板;(5)坐标变换电路利用特定的算法将回波数据的极坐标信号变换成输出的直角坐标信号;(6)图像存储器单元用于存储图像信号,供视频输入输出电路;(7)图像处理单元;(8)视频输入/输出电路将各种图像、字符、信号合成输出到彩色监视器供操作者观察,同时向视频打印机和录像机提供视频信号。
扫描变换为硬件实现,需要由两个帧存储器存储声束扫描格式的图象数据,两个帧存储器采用“乒乓”工作方式,当一个帧存储器按声束扫描时序写入当前的回波数据时,另一个帧存储器则以显示时钟速率读出数据,读出的数据经过二维线性插补运算后得到显示象素之值。每当声束扫描完成一个周期时,便进行两个帧存储器的“乒乓”切换。按照显示时钟的频率,每隔一定时间输出一个显示象素,而每计算一个显示象素要求从帧存储器中读出四个声束扫描数据。如果这四个数据串行读出的话,要求帧存储器的工作频率高达50MHz以上。为了避免对高速存储器件的要求,帧存储器采用一种特殊的结构。每个帧存储器被分成A1、A2、B1、B2四个子存储器,分别存放不同线上的不同位置的采样点。根据扫描变换器二维线性插补的原理,计算一个显示象素所需的四个声束扫描数据必分散在A1、A2、B1、B2之中,因此可以从帧存储器的四个子存储器中并行读出。
现有技术的数字扫描转换器由硬件实现,首先硬件电路庞杂,PCB板布线复杂,任务量很多,其次硬件电路使用的FPGA(现场可编程单元)处理芯片和存储器都加大了硬件的成本,而且由于DSC使用硬件进行处理,上层应用程序得不到采样数据,对图像的后处理来说,增加了计算的复杂度。


发明内容
本发明要解决的技术问题是提供一种超声图像反转显示的方法,克服现有技术的数字扫描变换器由硬件实现,硬件电路庞杂,PCB板布线复杂以及上层应用程序得不到采样数据,图像后处理计算复杂的缺陷。
本发明为解决上述技术问题所采用的技术方案为 一种超声图像反转显示的方法,包括步骤 A1、确定凸阵扫描区内象素的坐标; A2、根据所述坐标建立插值计算表; A3、根据所述插值计算表和采样数据计算凸阵扫描区内每个象素的灰度值数据; A4、将所述灰度值数据输出到显示器进行显示。
所述的超声图像反转显示的方法,其中对图像进行左右反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算 DP=y×W0+(W0-x), 其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,W0是显示屏象素区的宽度。
所述的超声图像反转显示的方法,其中对图像进行上下反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算 DP=(H0-y)×W0+x, 其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,H0是显示屏象素区的高度,W0是显示屏象素区的宽度。
所述的超声图像反转显示的方法,其中对图像同时进行上下、左右反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算 DP=(H0-y)×W0+(W0-x), 其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,H0是显示屏象素区的高度,W0是显示屏象素区的宽度。
所述的超声图像反转显示的方法,其中 所述步骤A2包括步骤预先计算凸阵扫描区内每个象素的极坐标值,并将所述极坐标值存入坐标转换表中,根据所述坐标转换表建立所述插值计算表。
所述的超声图像反转显示的方法,其中所述插值计算表设为一数据结构的赋值集合,所述数据结构包括显示在屏幕上的点的一维坐标变量、矫正插值系数变量、采样点的位置变量。
所述的超声图像反转显示的方法,其中在使用所述数据结构前,对其进行初始化,将所有变量赋零值。
所述的超声图像反转显示的方法,其中所述坐标转换表设为二维数组。
所述的超声图像反转显示的方法,其中所述步骤A3包括步骤所述灰度值数据首先存入一维数组中。
所述的超声图像反转显示的方法,其中 设所述数据结构中的矫正插值系数为CC1、CC2、CC3、CC4,则其根据如下数学式计算 CC1=(1-α)×(1-β)×256, CC2=(1-α)×β×256, CC3=α×(1-β)×256, CC4=α×β×256, 其中(Rqf,θqf)是所述坐标转换表内的极坐标值,Rqf的整数部分为i,θqf的整数部分为j,α=Rqf-i,β=θqf-j。
本发明的有益效果为本发明使用软件进行DSC处理,省去了DSC的硬件处理模块,节约了硬件成本,缩小了硬件的体积,并且为图像的后处理提供了极大的方便。



本发明包括如下附图 图1为本发明采样数据存储格式示意图; 图2为本发明显示数据的象素坐标示意图; 图3为现有技术由硬件实现DSC块的超声诊断设备模块组成示意图; 图4为本发明由软件实现DSC块的超声诊断设备模块组成示意图; 图5为本发明DSC实现方法流程示意图; 图6为本发明DSC实现方法的未经反转的超声图像测试结果示意图; 图7为本发明DSC实现方法的上下反转的超声图像测试结果示意图; 图8为本发明DSC实现方法的左右反转的超声图像测试结果示意图。

具体实施例方式 下面根据附图和实施例对本发明作进一步详细说明 1、DSC预处理 本发明根据DSC的原理和流程,首先把几个坐标系按照平移和转换的方式统一到同一个坐标系中,然后在这个统一的坐标系中进行插值运算求得屏幕上需要显示象素位置的象素值。采样数据的格式和大小按照图1所示进行存储,共有Sr行、Sc列,大小为Sr×Sc字节(Byte)。每一行上的采样数据均对应相同的扫描深度,从第一行到第Sr行,对应的扫描深度依次等间隔从零增加到设定的探头最大扫描深度。每一列上的采样数据均对应相同的扫查角度,从第一列到第Sc列,对应的扫查角度(参考图2所示)依次等间隔从-θ0增加到θ0。表1列出了需要获取、设定及预先计算的参数。
表1 垂距的计算公式 d=r0×cosθ0(1) 坐标平移公式 参照图2可知, 而 由式(2)和式(3)可得 式(4)便是最终用于DSC的坐标平移公式。
参照图2,在各个参数都确定的情况下,设从x-y坐标系下的坐标(x,y)经过坐标平移之后对应的在u-v坐标系下的坐标为(u,v),而坐标(u,v)经过坐标变换后对应在R-θ坐标系下的坐标为(R,θ),可得坐标(u,v)到坐标R-θ的变换公式如式(5)所示 设极径量化因子为qr,则qr的计算公式如式(6)所示 设极角量化因子为qθ,则qθ的计算公式如式(7)所示 设量化后的极坐标(Rq,θq),经过坐标平移和极坐标变换后的极坐标为(R,θ),则它们之间的关系如式(8)所示 为了让极径和采样数据的编号能够统一,需要给极径去偏,设定极径去偏常数为FR,则FR如式(9)所示 为了让极角的0位置和采样数据的第一列对齐,需要给极角去偏,设定极角去偏常数为Fθ,则Fθ如式(10)所示 Fθ=Sc/2(10) 设量化去偏后的极坐标为(Rqf,θqf),经过坐标平移和极坐标转换后的坐标为(R,θ),则它们之间的关系如式(11)所示 2、建立坐标转换表 坐标转换,其运算量非常之大,但是同时又有一定的规律。如果每次在进行坐标转换的时候都进行一次运算,那么将会影响到CPU的耗用,而且会降低帧频,达不到实时性的要求。创建一个二维数组——二维查找表进行坐标的转换,将解决上述问题。
在如图2所示的扫描深度D0下,对应的坐标转换表的行数为 考虑到不同的扫描深度都使用同一张坐标转换表,就必须找出一个最小的但同时又能满足所有扫描深度使用情况下的一个坐标转换表行数,由于 所以在确定最小行数的时候,取扫描深度最小值Dmin进行计算。
由于显示象素区的宽度为W0,而且W0在显示屏幕确定的情况下也不会发生变换,所以坐标转换表的列数定为W0。
根据式(13)可知,坐标转换表的行数由Dmin确定,列数由W0确定。那么设坐标转换表CTT(Coordinate Transform Table)的行数为CTTrow,列数为CTTcol,则 则式(14)为最终确定坐标转换表大小的计算公式。
根据式(1)、式(4)、式(5)、式(11)和式(14),按照输入坐标(x,y)进行循环转换到(Rqf,θqf)即可,其中0≤x<CTTcol,0≤y<CTTrow。
在建立了坐标转换表CCT之后,除非更换探头或者改变显示模式,就不再需要重新运算建立该表了。
3、反转控制 如图2所示,将显示象素区内的凸阵扫描区内象素点(x,y)的坐标位置由二维转化为一维,并保存下来。设为DP(Display Position),则 DP=y×W0+x (16) 式(16)是正常显示图像的计算公式。
进行左右反转时,只需将建立插值计算表中的式(16)变为DP=y×W0+(W0-x)即可; 进行上下反转时,只需将建立插值计算表中的式(16)变为DP=(H0-y)×W0+x即可; 同时进行左右和上下反转时,只需将建立插值计算表中的式(16)变为DP=(H0-y)×W0+(W0-x)即可。
4、建立插值计算表 由双线性插值运算公式可知,要计算极坐标点(Rqf,θqf)处的灰度值,就需要该点周围与之距离最近的四个采样点的值。求得Rqf的整数部分,设为i,求得θqf的整数部分,设为j。那么,通过极坐标系下的点(i,j)、点(i,j+1)、点(i+1,j)和点(i+1,j+1)四个点的灰度值,即可双线性插值点(Rqf,θqf)的灰度值。
由式双线性插值运算公式可知,如果设插值系数为α和β,且α=Rqf-i,β=θqf-j,并设极坐标下的点(r,θ)的灰度值为G(r,θ),则 G(Rqf,θqf)=(1-α)×(1-β)×G(i,j)+ (1-α)×β×G(i,j+1)+(15) α×(1-β)×G(i+1,j)+ α×β×G(i+1,j+1) 插值表的内容 (1)如图2所示,将显示象素区内的凸阵扫描区象素点(x,y)的坐标位置由二维转化为一维,并保存下来。设为DP(Display Position),则 DP=y×W0+x(16) 特别注意不保存如图2所示的凸阵扫描区以外的象素点的坐标位置。
(2)保存用到的四个矫正插值系数(Correctional Coefficient),并将它们从浮点数转化为WORD(双字节)整数。四个矫正插值系数分别设为CC1、CC2、CC3、CC4,则 CC1=(1-α)×(1-β)×256 (17) CC2=(1-α)×β×256 (18) CC3=α×(1-β)×256 (19) CC4=α×β×256 (20) (3)四个采样点的位置 保存插值需要的四个采样点的位置(Sample Points/Position),并将其坐标位置由二维转化为一维进行保存,四个采样点的位置分别设为SP1、SP2、SP3、SP4,则 SP1=i×Sc+j (21) SP2=i×Sc+j+1(22) SP3=(i+1)×Sc+j (23) SP4=(i+1)×Sc+j+1(24) 由于该结构包含有显示在屏幕上的点的一维坐标值(DisplayPosition),包含有矫正的插值系数(Correctional Coefficient),还包含有采样点的位置(Sample Points/Position),所以简称该结构为DPCCSPT(字母“T”代表Table)。该结构的定义如下所示 struct DPCCSPT { int DP; WORD CC1; WORD CC2; WORD CC3; WORD CC4; int SP1; int SP2; int SP3; int SP4; }; DP对应显示在屏幕上的点的一维坐标值,四个采样点SP1、SP2、SP3、SP4分别对应四个矫正插值系数CC1、CC2、CC3、CC4。在计算时,将它们按顺序依次相乘然后求和即可。
使用C++STL中的向量vector,向内存申请一个DPCCSPT类型的vector,申请的变量如下 std::vector<DPCCSPT>FDisplayData; 变量FDisplayData中存放进行插值需要的数据。
(Rqf,θqf)是经过坐标变换表查找出来的极坐标值,Rqf的整数部分为i,θqf的整数部分为j,α=Rqf-i,β=θqf-j。
由于并不是显示象素区的所有坐标都有B超图像的信息,所以要将非凸阵扫描区的坐标位置排除掉,这样做的目的有二一是减少运算量,提高了运算速度;二是节约了内存存储空间。
存放数据的条件如下0≤i<Sr并且0≤j<Sc,这样就可以满足以上要求。
在满足上述条件的情况下,向变量FDisplayData中装入要使用的DPCCSPT结构类型的数据。将显示图像区范围内的坐标(显示屏幕坐标系的)按照计算机的快速处理特点一行一行地全部遍历一遍,在遍历时进行查找CCT表中对应的极坐标值,然后根据极坐标的值计算出该DPCCSPT类型数据的SP1、SP2、SP3、SP4、CC1、CC2、CC3、CC4,该DPCCSPT类型数据的变量DP的值是根据该显示图像区范围内的坐标确定的,则所有符合条件的DPCCSPT类型的数据已经全部装载到了变量FDisplayData中,那些不符合条件的显示坐标已经在初始化时被赋予了零值,即显示为黑色。遍历FDisplayData,将其DPCCSPT类型的数据自行计算即可得到屏幕显示位置的灰度值。
对于插值表DPCCSPT,除非扫描深度发生变化或者改变显示模式,就不再需要重新计算建立该表了。
5、快速计算进行DSC处理 根据插值计算表所得的数据,就可以计算出图2所示凸阵扫描区各个象素的灰度值。
首先确定要显示的区域 举例来说,假设要由FDisplayData中的第k个DPCCSPT类型的数据得到显示屏幕上的一个点的灰度值,进行如下计算即可。首先设屏幕上第m个位置的灰度值为DisGry[m],另根据式(15)的设定可得 DisGry(FDisplayData[k].DP)= (FDisplayData[k].cc1*SD[FDisplayData[k].P1]+ FDisplayData[k].cc2*SD[FDisplayData[k].P2]+ FDisplayData[k].cc3*SD[FDisplayData[k].P3]+ FDisplayData[k].cc4*SD[FDisplayData[k].P4])>>8 6、送达显示器进行显示 由快速计算进行DSC处理已经知道,在DisGry[]这个数组中,已经将所有的凸阵扫描区的象素灰度值进行了保存,当然,在显示象素区的而又不在凸阵扫描区的象素值在初始化的时候已经全部赋了零值而保存在该数组里。那么这个数组已经全部保存了将要显示在屏幕区宽度为W0,高度为H0的所有象素的灰度值。
将已经保存了所有要显示区域灰度值的数组DisGry[]的首地址传递给显示函数即可,从而完成了整个DSC从获取数据、坐标变换、插值处理到最后的送达显示器进行显示的全部过程。
比较图3和图4,可以很清楚地看到,软件DSC省去了B超仪器中的硬件DSC处理装置设备,节约了B超仪器的硬件成本,缩小了B超硬件电路的体积,并且为B超的软件设计带来了很多方便,为图像的软件处理提供了极大的便利。
图5总结了本发明数字扫描变换器的处理流程 1、建立坐标转换表CCT和插值表DPCCSPT,(已在上文中详细说明了实现过程)。值得注意的是在建立了坐标转换表CCT之后,除非更换探头或者改变显示模式,就不再需要重新运算建立该表了。对于插值表DPCCSPT,除非扫描深度发生变化或者改变显示模式,就不再需要重新计算建立该表了。
2、存放采样数据的数组SD[Sr×Sc]在预处理中就要定义好,大小是根据采样数据的大小设定的,其大小为Sr×Sc字节,数据类型为BYTE型,用C++的定义为“BYTE SD[Sr*Sc];”该数组存放的是一帧采样数据的灰度值,灰度值的范围为0-255。比如该数组第三个BYTE型数据的值为100,则可以认为SD[2]的值为100(因为数组的第一个值为SD
,所以第三个为SD[2])。由于采样数据每隔一定时间会上传一帧,所以在同一个采样位置(数组中的同一个位置)其灰度值也是在不断发生变化的。
3、存放输出数据的一维数组DisGry[W0×H0]该数组存放如图2所示的显示象素区各个象素的灰度值,所以其大小为显示象素区的大小W0×H0,数据类型为BYTE型,用C++的定义为“BYTE DisGray[W0*H0]”。在进行快速DSC处理之前,存放输出数据的一维数组DisGry[W0×H0]是被初始化过的。除非扫描深度或者显示模式或者探头更换,该数组不再进行初始化。初始化时,该数组的所有元素被赋值为灰度值的零,即为黑色。
4、快速DSC处理在进行快速DSC处理时,根据计算插值表的限制条件,可以知道,数组FDisplayData[]中保存的显示坐标位置DP均在如图2所示的凸阵扫描区内。
如图6和图7所示,测试结果证明软件DSC可以准确迅速地将采样数据显示到屏幕上,而且在达到最高帧率64的时候,所耗用的CPU资源也不超过2%,完全达到了实时性的要求。把帧频设定在32帧的时候,所耗用的CPU资源显示结果表明不超过1%。
针对式(11),由于公式中牵涉到平方开方和求反三角函数的运算,所以运算量比较大,为了简化运算,可以采用CORDIC算法来实现。如果采用CORDIC算法来实现开方和求反正切函数的运算,就会相应减少初始化坐标转换查找表的时间,减少B超在改变表1中一些重要参数时的系统响应时间。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
权利要求
1.一种超声图像反转显示的方法,其特征在于包括步骤
A1、确定凸阵扫描区内象素的坐标;
A2、根据所述坐标建立插值计算表;
A3、根据所述插值计算表和采样数据计算凸阵扫描区内每个象素的灰度值数据;
A4、将所述灰度值数据输出到显示器进行显示。
2.根据权利要求1所述的超声图像反转显示的方法,其特征在于对图像进行左右反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算
DP=y×W0+(W0-x),
其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,W0是显示屏象素区的宽度。
3.根据权利要求1所述的超声图像反转显示的方法,其特征在于对图像进行上下反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算
DP=(H0-y)×W0+x,
其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,H0是显示屏象素区的高度,W0是显示屏象素区的宽度。
4.根据权利要求1所述的超声图像反转显示的方法,其特征在于对图像同时进行上下、左右反转时,在步骤A1中,凸阵扫描区内象素的坐标根据如下数学式计算
DP=(H0-y)×W0+(W0-x),
其中DP为凸阵扫描区内象素的显示位置,x为该象素在显示屏坐标系中的横坐标,y为该象素在显示屏坐标系中的纵坐标,H0是显示屏象素区的高度,W0是显示屏象素区的宽度。
5.根据权利要求1至4任一所述的超声图像反转显示的方法,其特征在于
所述步骤A2包括步骤预先计算凸阵扫描区内每个象素的极坐标值,并将所述极坐标值存入坐标转换表中,根据所述坐标转换表建立所述插值计算表。
6.根据权利要求5所述的超声图像反转显示的方法,其特征在于所述插值计算表设为一数据结构的赋值集合,所述数据结构包括显示在屏幕上的点的一维坐标变量、矫正插值系数变量、采样点的位置变量。
7.根据权利要求6所述的超声图像反转显示的方法,其特征在于在使用所述数据结构前,对其进行初始化,将所有变量赋零值。
8.根据权利要求7所述的超声图像反转显示的方法,其特征在于所述坐标转换表设为二维数组。
9.根据权利要求8所述的超声图像反转显示的方法,其特征在于所述步骤A3包括步骤所述灰度值数据首先存入一维数组中。
10.根据权利要求9所述的超声图像反转显示的方法,其特征在于
设所述数据结构中的矫正插值系数为CC1、CC2、CC3、CC4,则其根据如下数学式计算
CC1=(1-α)×(1-β)×256,
CC2=(1-α)×β×256,
CC3=α×(1-β)×256,
CC4=α×β×256,
其中(Rqf,θqf)是所述坐标转换表内的极坐标值,Rqf的整数部分为i,θqf的整数部分为j,α=Rqf-i,β=θqf-j。
全文摘要
一种超声图像反转显示的方法,包括步骤A1.确定凸阵扫描区内象素的坐标;A2.根据所述坐标建立插值计算表;A3.根据所述插值计算表和采样数据计算凸阵扫描区内每个象素的灰度值数据;A4、将所述灰度值数据输出到显示器进行显示。本发明使用软件进行DSC处理,省去了DSC的硬件处理模块,节约了硬件成本,缩小了硬件的体积,并且为图像的后处理提供了极大的方便。
文档编号G09G5/38GK101125090SQ20071007541
公开日2008年2月20日 申请日期2007年7月23日 优先权日2007年7月23日
发明者程延俊, 陈闽峰 申请人:深圳市蓝韵实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1