基于dram实现超声数字扫描变换的方法及系统的制作方法

文档序号:867985阅读:173来源:国知局
专利名称:基于dram实现超声数字扫描变换的方法及系统的制作方法
技术领域
本发明涉及一种超声数字信号处理技术,尤其是涉及一种基于动态随机存储器 (DRAM)实现超声数字扫描变换的方法及系统。
背景技术
在医疗超声成像系统中,需要把扫描端的回波信息转化为显示端的图像,供专业人员观测和诊断,这个图像转化的过程称为数字扫描变换,简称DSC(Digital Scan Converter),DSC技术在提高成像质量方便具有非常重要的作用,已成为目前医疗超声成像中的一项关键技术,有着广阔的应用前景。
DSC技术的核心是以显示空间图像素点的坐标为源,经过一系列的坐标变换,得到其对应的点在扫描图像中的原始坐标,利用原始坐标或其周围的四点(当坐标变换结果为小数时取整后取相邻的横向和纵向各两点),采用线性插补的算法,求出显示像素的值。
DSC技术要实现由扫描端的回波数据到显示端图像的变换,需要先把扫描端的整幅(帧)扫描图像缓存,再根据显示端坐标变换的结果,从扫描端数据缓存中取出相应的数值进行插补运算。
DSC运算需要逐行逐列运算才能得到一幅(帧)完整的显示图像,譬如假设显示区的大小是800*600 (像素),那么每帧图像则需要进行480000个像素点的DSC运算,如果要实时DSC,由于医疗超声实时成像系统的帧率通常都在几十帧/秒左右,可以算出,其运算量较大,同时由于大部分点DSC运算需要取4点的值,因此缓存的操作量就更大了。如果考虑到还需要缓存前端扫描图像的带宽,那么对缓存的操作是整个DSC处理中吞吐率最大的地方之一。由于DSC技术的这些特点,造成DSC技术在实现上来讲,面临着大数据量、大数据吞吐率、高性能的要求。当前医疗超声设备中,DSC的实现有软件实现和硬件实现两大方案,其中软件采用CPU运算,DDR2/3存储的方式,硬件方案则为FPGA+SRAM的方案,FPGA控制和运算,SRAM存储。
在现有的DSC实现方案中,其中软件实现方案利用CPU较强的运算能力进行DSC 的运算,特点是实现灵活,但由于DSC需要的超大且持续的运算量,对软件是个很大的开销,容易造成软件系统处理其他问题能力不足,并进一步导致系统的不稳定,且由于DSC的大运算量,再加上超声成像系统其他需求对软件的开销,造成对CPU选型时的成本有较大冲击,使用起来有一定的局限性。
在现有的硬件实现方案中,即FPGA+SRAM的方案中,用FPGA进行控制和运算,SRAM 实现存储,这种实现方案在相当长的一段时期内,满足了市场需要,但伴随着市场竞争的进一步激烈化和新的存储方案即控制方式的出现,以及系统扩展等的需要,FPGA+SRAM这种方案,在各个方面表现出了劣势首先其成本相对动态随机存储(DDR2/3或SDRAM,以下统称 DDR)的方案,同样的容量条 件下,高出了 10倍以上;其次,SRAM的低容量使其几乎刚好满足DSC存储的要求,如果系统有其他的存储需要,还需要另加存储设备,扩展性较差;再次,SRAM吞吐率严重不足,无法应对日益提高的更高密度的图像,更大的帧率、更高带宽的处理需求。发明内容
为解决现有DSC实现方案中存在数据运算量大、对系统要求较高等诸多缺陷,本发明提出一种基于动态随机存储器,使用最小的成本代价,最简单实用的方式实现超声数字扫描变换的方法及系统。
本发明采用如下技术方案实现一种基于DRAM实现超声数字扫描变换的方法,其包括在DSC系统的内部RAM中设置若干个线缓存;每次将一帧对应图像显示单元需要进行显示的扫描图像以扫描线为单位缓存至DRAM, 且同一扫描线对应的回波数据存入DRAM中的同一行内;以扫描线为单位,每次逐线逐步从DRAM中读出每个扫描线的N个回波数据,分别将每个扫描线读出的N个回波数据存入各个线缓存中;按照显示图像的显示顺序对各个像素点进行坐标变换,获得显示图像中每个像素点对应在扫描图像中的绝对地址,根据绝对地址在线缓存中找到对应的回波数据进过插补运算,计算出显示图像中每个像素点的灰度值。
其中,绝对地址包括由方位角Θ决定的线地址和由极径R决定的点地址,线地址直接作为不同线缓存的索引地址,而点地址则作为一个线缓存中的点索引地址。
其中,每个线缓存的存储深度为8。
其中,DSC系统由FPGA芯片实现,所述若干个线缓存设置在FPGA芯片内部的RAM 中,而DRAM连接在FPGA芯片外部。
另外,本发明公开一种基于DRAM实现超声数字扫描变换的系统,其包括RAM、 DRAM、坐标变换单元和插值单元;在RAM中设置若 干个线缓存;每次将一帧对应图像显示单元需要进行显示的扫描图像按扫描线为单位进行缓存,且同一扫描线对应的回波数据存入 DRAM中的同一行内;以扫描线为单位,每次逐线从DRAM中读出每个扫描线的N个回波数据,分别将每个扫描线读出的N个回波数据存入一个线缓存中;由坐标变换单元按照显示图像的显示顺序对各个像素点进行坐标变换,获得显示图像中每个像素点对应在扫描图像中的绝对地址;由插值单元根据绝对地址在RAM的线缓存中找到对应的回波数据进过插补运算,计算出显示图像中每个像素点的灰度值。
与现有技术相比,本发明具有如下有益效果本发明采用具有低成本的DRAM实现DSC系统,在存储环节使系统成本降低到原来的 10%以下,且数据处理量缩减,提高了系统性能和可靠性,且DRAM的大容量和高带宽使其剩余的容量还可以用于其他处理,提高了系统的可扩展性。


图1是本发明提出DSC系统的结构示意图;图2是一个优选实施例中数字扫描变换的示意图。
具体实施方式
如图1所示,本发明提出的超声数字扫描变换系统(或称为DSC系统)的结构示意图。
本发明提出的DSC系统在硬件上是采用FPGA+ DRAM的实现方案,利用DRAM (Dynamic Random Access Memory,动态随机存取存储器)的大容量、高带宽和低成本的优点辅助FPGA (Field 一 Programmable Gate Array,即现场可编程门阵列)实现DSC系统。
FPGA内部的RAM (为SRAM,成本较高)用作DSC系统的内部缓存,而设置在FPGA外部的DRAM用作DSC系统的外部缓存,且DRAM与FPGA内部的RAM配合实现DSC系统对超声数字扫描变换的处理。
DSC系统在超声系统中处于数字信号处理之后,显示驱动之前。DSC系统包括图像数据存储单元、插值单元、坐标变换单元(以凸阵的坐标变化为例,其他类型的探头处理方式类似)、图像显示单元、配合图像数据存储单元实现数字扫描变换的动态随机存取存储器(DRAM)。
DSC系统工作时,由坐标转换单元把图像显示单元(比如显示器)上采用直角坐标 (x,y)的像素地址转换到图像数据存储单元中的极坐标地址(R,Θ)。该坐标变换单元根据探头类型及显示模式的不同分为线阵扫描变换、凸阵扫描变换及M模式扫描变换等,无论哪种模式的扫描变换,都是从图像显示单元的一个像素点以直角坐标(x,y),再变换为探头所处的μ V坐标,最后变换为极坐标地址(R,θ )。
由极坐标地址(R,Θ )即可从图像数据存储单元中读取存储的回波数据,但极坐标地址(R,Θ )中的一个采样值与直角坐标(x,y)中的像素点一般是不重合的,所以必须由计算出的R、Θ值的误差(即小数部分)经插值来计算实际直角坐标(x,y)上的像素值。
一般来说,从直角坐标(X,y)产生到转换为极坐标地址(R,Θ )及其误差,通过双线性插值计算,由一个直角坐标(X,y)中像素点的地址得到图像数据存储单元以极坐标 (R,Θ )表示的4个点地址,并从图像数据存储单元的极坐标(R, Theta)表示的4个点地址中取出回波数据,由插值单元把取出的4个点地址的回波数据进行插补运算,计算出在图像显示单元中直角坐标(X,y)中像素点的灰度值。
如何由显示图像中的一个直角坐标(X,y)地址对应得到极坐标(R,Θ )表示的4 个点地址、以及如何根据4个点地址的回波数据进行插补运算,均为现有技术。本案只是为了技术方案的完整表达有所提及,但不再详细描述。
例如,在凸阵的坐标变换中,图像数据存储单元依据坐标变换之后的极径R和极角或方位角Θ,得到图像数据存储单元的相应图像数据的地址,进而读出图像数据。
由于超声系统的一帧扫描图像通常由几十到几百扫描线组成(根据扫描密度和扫描范围的不同略有不同),每个扫描线又由几百到几千点(像素点 )组成(根据深度和模式的不同略有不同),因此一帧扫描图像一般横向由几百扫描线、纵向由几百像素点构成。
以256扫描线、512点的某超声扫描模式的扫描图像为例,进一步说明基于动态随机存储器(DRAM)实现DSC系统的过程,其余深度和密度的扫描模式处理方法与此类似。
超声系统中图像显示单元的显示区域一般为800*600、512*512或640*480等,本案以512*512的图像显示区为例说明,图像显示区的大小,不影响本发明实现方法的可行性,不同图像大小之间,只是一帧扫描图像的运算量不同而已,其他的并无差异。
在一帧显示图像中,图像显示单元显示图像的顺序可以是逐行从左到右、纵向从上到下的方式,同时,超声数字扫描变换的顺序也可以是从右到左、从下往上或其他的方式,本案以逐行从左到右、纵向从上到下的方式进行说明,但DSC处理的顺序并不影响本发明的实现,本发明也有对处理顺序进行调整后优化处理的论述。
首先,用动态随机存储器(DRAM)实现DSC的核心是怎样提高数据接口的效率。要确保这一点,需要将一帧扫描图像中各个扫描线分别存入DRAM中的不同行地址,且扫描图像中同一扫描线对应的像素点数据存入DRAM中的同一行内不同地址的寄存器。这是因为 DRAM—行的打开和关闭需要比较复杂的操作,耗时较多,如果一行打开之后操作行里面的各元素则相当快速和方便,但如果要读(或写)一行中某一个数后再操作另一行的某一个单元,这期间便会插入关闭上一行,打开下一行的操作,大大降低DRAM的效率,如果扫描图像中同一线的图像都保存到DRAM中同一行,那么每次读取一线的图像的若干个点时,就可以一次读出较多而读取的时长很短,大大提高DRAM的数据接口效率和操作效率。这样,每次内部线缓存中的数用完了以后需要更新时可以一次读取一段新的数据,用于未来一段的计算。
其次,在FPGA内部的随机存储器(RAM)中建立256个线缓存,线缓存的数量与当前模式一帧扫描图像的线数只是相关,不一定相等。每个线缓存深度为8 (也可以是其他值,与图像角度、图像大小等相关,需根据系统需要进行选择);每个图像数据的位宽根据系统需要而定,假设为8。每个位宽线缓存不一定需要对应FPGA中不同的RAM单元,也就是说,256个深度为8的线缓存可以放到同一个或几个FPGA内部的RAM中,当然,也可以使用 FPGA内部的分布式RAM实现。
再次,在DSC系统启动后,以扫描线为单位,将一帧扫描图像按扫描线逐线从DRAM 中不同行读出每个扫描线最浅深度方向的8 (可以变化的)个值(即扫描图像中每一扫描线最前面的8个回波数据),存入上述256个线缓存中。
然后,由坐标变换单元根据显示图像的显示顺序对显示图像中各个像素点的直角坐标(X,y)进行坐标变换后,每个像素点(X,y)得到了极坐标(R,θ )中的4个地址,这4 个地址是表示扫描图像中的绝对地址,绝对地址包括两部分,即线地址(由方位角θ决定) 和点地址(由极径R决定)。其中,线地址直接作为不同线缓存的索引地址;而点地址则作为一个线缓存中的点索引地址。
最后,根据绝对地址在RAM的线缓存中寻址,找到每个像素点(x,y)对应在极坐标 (R,Θ )中的4个回波数据,由插值单元把取出的4个回波数据进行插补运算,计算出在图像显示单元中直角坐标(x,y)中像素点的灰度值。计算出的灰度值在图像显示单元上进行图像显示。
在实际实时处理的过程中,由于显示像素从左往右的移动,主要体现为其取的坐标线地址也对应的发生了变化,由于显示像素从上往下的移动,主`要体现为其取的坐标点地址对应的发生变化,只要确保坐标变换后需要从DRAM中取出的数据已经提前保存到了 RAM中各个线缓存,整个处理过程就能运行起来。
在FPGA的RAM中,由于每个扫描线对应的内部缓存很小,一帧扫描图像对应的总缓存也不超过几十K比特(bit),相对于FPGA内部几Mbit的存储空间,可以说微乎其微,对系统其他设计影响很小。
对于每个内部缓存扫描线的线缓存,均需根据当前DSC系统处理和上一次DSC系统处理在深度方向的移动判断出下一次处理需要的数据是否已经不在当前内部小缓存中了,如果是,则启动从外部缓存中把相应的数据读入到内部小缓存中更新的动作。由于下一次用到这个扫描线缓存的时刻还在若干个像素处理周期以后,这期间的时间用来改获取新的扫描线缓存数据。
在显示像素进行DSC处理时,也可以采用分区处理的优化方式,譬如图2所示的分左右区处理,此时,可以先对显示图像左侧(虚竖线左侧)的区域采取从上到下,从左到右的顺序进行坐标变换,再对右边处理,这样当处理显示区左侧时,只会用到原始图像中左侧的线数据,FPGA内部的缓存数量可以缩小为原方案的一半。
图2中显示图像的一个像素点(方形),经坐标变换后的坐标为原始图像中的某个点(方形),要求出方形点的灰度值,需要对如图2左侧1、2、3、4共4个点进行插值运算,那么如果把这4个点保存到DRAM中同一行(具有相同行地址的不同寄存器),也可以大大提高读取的效率。也可以采用一种新的存取方式优化实现DSC系统,即不仅同一线的数据存在 DRAM中同一行,而且把每个点和其附近的3个点同时存储,读取时则可以同时取出,采取这种实现方式,相对于单点读取的方式,DRAM当于的操作效率提高了 4倍,这种方式可以类似SRAM实现DSC系统一样,逐点进行DSC变化,逐点读取和处理,不需要FPGA内部RAM实现对应各个扫描线的线缓存,而只需要一个很小的内部缓存保存数据即可。这种方式的不足之处是每个点都被重复保存了 4次,对缓存的占用率比较高,但考虑到DRAM具有上G的存储容量,对一幅(帧)扫描图像IM左右的存储量的影响也是微乎其微的。
综上,本发明采用具有低成本的DRAM实现DSC系统,在存储环节使系统成本降低到原来的10%以下,且数据处理量缩减,提高了系统性能和可靠性,且DRAM的大容量和高带宽使其剩余的容量还可以用于其他处理,提高了系统的可扩展性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
权利要求
1.一种基于DRAM实现超声数字扫描变换的方法,其特征在于,所述方法包括 在DSC系统的内部RAM中设置若干个线缓存; 每次将一帧对应图像显示単元需要进行显示的扫描图像以扫描线为单位缓存至DRAM,且同一扫描线对应的回波数据存入DRAM中的同一行内; 以扫描线为单位,毎次逐线逐步从DRAM中读出每个扫描线的N个回波数据,分别将每个扫描线读出的N个回波数据存入各个线缓存中; 按照显示图像的显示顺序对各个像素点进行坐标变换,获得显示图像中每个像素点对应在扫描图像中的绝对地址,根据绝对地址在线缓存中找到对应的回波数据进过插补运算,计算出显示图像中每个像素点的灰度值。
2.根据权利要求1所述基于DRAM实现超声数字扫描变换的方法,其特征在于,绝对地址包括由方位角0決定的线地址和由极径R決定的点地址,线地址直接作为不同线缓存的索引地址,而点地址则作为ー个线缓存中的点索引地址。
3.根据权利要求1所述基于DRAM实现超声数字扫描变换的方法,其特征在于,DSC系统由FPGA芯片实现,所述若干个线缓存设置在FPGA芯片内部的RAM中,而DRAM连接在FPGA芯片外部。
4.一种基于DRAM实现超声数字扫描变换的系统,其特征在于,所述系统包括RAM、DRAM、坐标变换単元和插值单元;在RAM中设置若干个线缓存;每次将ー帧对应图像显示单元需要进行显示的扫描图像按扫描线为单位进行缓存,且同一扫描线对应的回波数据存入DRAM中的同一行内;以扫描线为单位,每次逐线逐步从DRAM中读出每个扫描线中的N个回波数据,分别将每个扫描线读出的N个回波数据存入ー个线缓存中;由坐标变换单元按照显示图像的显示顺序对各个像素点进行坐标变换,获得显示图像中每个像素点对应在扫描图像中的绝对地址;由插值单元根据绝对地址在RAM的线缓存中找到对应的回波数据进过插补运算,计算出显示图像中每个像素点的灰度值。
5.根据权利要求4所述基于DRAM实现超声数字扫描变换的系统,其特征在于,绝对地址包括由方位角0決定的线地址和由极径R決定的点地址,线地址直接作为不同线缓存的索引地址,而点地址则作为ー个线缓存中的点索引地址。
6.根据权利要求4所述基于DRAM实现超声数字扫描变换的方法,其特征在于,所述系统由FPGA芯片实现,所述若干个线缓存设置在FPGA芯片内部的RAM中,而DRAM连接在FPGA芯片外部。
全文摘要
本发明公开一种基于DRAM实现超声数字扫描变换的方法及系统。其中,所述方法包括在DSC系统的内部RAM中设置若干个线缓存,每个线缓存用于分别缓存一帧扫描图像中的一个扫描线的一部分;每次将一帧对应图像显示单元需要进行显示的扫描图像以扫描线为单位缓存至DRAM,且同一扫描线对应的回波数据存入DRAM中的同一行内不同地址的寄存器;以扫描线为单位,每次逐线逐步从DRAM中读出每个扫描线中的N个回波数据,分别将每个扫描线读出的N个回波数据存入各个内部线缓存中;按照显示图像的显示顺序对各个像素点进行坐标变换、插补运算,计算出显示图像中每个像素点的灰度值。本发明具有实现成本低、可靠性高的优点。
文档编号A61B8/00GK103027707SQ20111029725
公开日2013年4月10日 申请日期2011年9月30日 优先权日2011年9月30日
发明者傅勇 申请人:深圳市蓝韵实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1