摘 要: 超聲成像在醫(yī)學(xué)影像診斷中有著廣泛的應(yīng)用,傳統(tǒng)的醫(yī)學(xué)超聲成像設(shè)備體積大、功耗高,便攜性及網(wǎng)絡(luò)傳輸性都有一定的限制。對(duì)常用的超聲成像原理及算法進(jìn)行分析及仿真,在超聲成像前端、中端、后端3個(gè)處理階段中,重點(diǎn)介紹中端處理方法,并將常用的人體組織及血流信息超聲成像算法移植到在TMS320C6472多核DSP上,實(shí)現(xiàn)了人體頸動(dòng)脈樣本數(shù)據(jù)的成像。
關(guān)鍵詞: 多核DSP; B?Mode; 多普勒效應(yīng); 超聲成像算法
中圖分類號(hào): TN919.8?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)02?0082?03
Implementation of carotid artery ultrasound imaging algorithm based on multicore DSP
FENG Chao, ZHAO Yingzhong, LE Meiqing, LIU Xiang, LIU Jiashu
(School of Information Science and Technology, Xiamen University, Xiamen 361005, China)
Abstract: Ultrasound imaging is widely used in the medical imaging diagnosis. The portability and network transport properties of the traditional medical ultrasound imaging equipment has limited due to its large size and high power consumption. The common ultrasound imaging principles and algorithms were analyzed and simulated. There are three stages: front?end, middle?end and back?end in ultrasound imaging processing. This paper highlights the processing method at middle?end. The popular ultrasound imaging algorithm for human tissue and blood flow information was transplanted to the TMS320C6472 multicore DSP, by which the human carotid ultrasound imaging was realized.
Keywords: multicore DSP; B?Mode; Doppler effect; ultrasound imaging algorithm
當(dāng)前,超聲成像技術(shù)在臨床診斷中得到了廣泛的應(yīng)用。 隨著醫(yī)學(xué)成像技術(shù)的發(fā)展,要求成像分辨率提升的同時(shí),相對(duì)較低的能耗也成了關(guān)注的焦點(diǎn),如何在高性能與低能耗中間尋求恰當(dāng)?shù)钠胶恻c(diǎn)成為研究熱點(diǎn)。DSP處理器由單核發(fā)展到如今的多核、眾核,運(yùn)算性能有了大幅的提升,其特有的乘加運(yùn)算單元,使其很適合于醫(yī)學(xué)成像等信號(hào)處理運(yùn)算量大的應(yīng)用場(chǎng)合。TI公司推出的TMS320C647x系列多核DSP,最多包含6個(gè)C64x+ DSP核,每個(gè)核主頻最高可達(dá)1.25 GHz,峰值計(jì)算能力可達(dá)到每秒4G次16?bit乘加運(yùn)算,并具有多種高速互聯(lián)接口。本文基于TMS320C6472多核DSP,對(duì)臨床診斷上常用的超聲成像算法進(jìn)行了仿真與實(shí)現(xiàn)。通過B?Mode和Doppler處理算法實(shí)現(xiàn)人體血管組織及血流信息的超聲成像。
1 超聲成像系統(tǒng)的組成
一個(gè)完整的超聲成像系統(tǒng)的基本組成主要包括超聲波探頭(傳感器)、前端(ADC,DAC)、中端(波束形成與檢波)、后端(圖像處理與重建)、系統(tǒng)控制器及電源等[1],如圖1所示。系統(tǒng)通常采用多通道超聲換能器陣列作為超聲波發(fā)射/接收源,采用合成孔徑聚焦技術(shù)(Synthetic Aperture Focusing),利用模擬開關(guān)控制各個(gè)通道陣元依次單個(gè)發(fā)射及接收,并通過模擬前端將各個(gè)通道陣元的接收信號(hào)調(diào)理之后進(jìn)行采樣。利用DSP對(duì)不同陣元的采樣結(jié)果進(jìn)行延時(shí)疊加以重建二維成像空間每一點(diǎn)的回波幅度圖像,即B?Mode超聲成像。TMS320C6472 DSP作為核心處理器,主要根據(jù)回波信號(hào)進(jìn)行圖像重建工作[2]。采用合成孔徑超聲成像中的延時(shí)疊加(DAS)算法。首先通過空間中每一個(gè)像素點(diǎn)的坐標(biāo)計(jì)算該點(diǎn)反射的回波到各個(gè)接收陣元的距離,然后根據(jù)回波到達(dá)各個(gè)陣元的時(shí)間(即“延時(shí)”),取這些陣元回波信號(hào)時(shí)間序列上相應(yīng)的幅值進(jìn)行疊加,由此得到每一個(gè)像素點(diǎn)的總回波幅值信號(hào)。將這些回波幅值信號(hào)歸一化并以256階(8 b)灰度進(jìn)行量化,就得到了一幀圖像。
圖1 超聲成像系統(tǒng)組成模塊
在灰度B?Mode成像的基礎(chǔ)上引入多普勒處理技術(shù)便可以對(duì)血流信息進(jìn)行成像,既具有二維超聲結(jié)構(gòu)圖像的優(yōu)點(diǎn),又同時(shí)提供了血流動(dòng)力學(xué)的豐富信息。由于人體內(nèi)的頸動(dòng)脈分化程度高,邊界輪廓清晰,便于數(shù)據(jù)的采集。其次,動(dòng)脈壁厚和直徑等參數(shù)可以反映一些重要疾病,對(duì)臨床診斷有重要意義。所以選擇頸動(dòng)脈作為超聲成像的實(shí)現(xiàn)對(duì)象。本文著重成像部分中端的研究與實(shí)現(xiàn),將人體頸動(dòng)脈采樣數(shù)據(jù)保存成二進(jìn)制文件以代替前端數(shù)據(jù)采集,該文件包括69幀前端采集數(shù)據(jù),每一幀512×256個(gè)樣本。在TMS320C6472多核DSP上對(duì)該樣本數(shù)據(jù)進(jìn)行B?Mode處理和Doppler處理以分別對(duì)血管壁組織和血流信息進(jìn)行成像。
2 中端處理過程
超聲成像系統(tǒng)的中端部分,主要完成:B?Mode處理算法(BPU)和多普勒處理算法(DPU)。B?Mode用于檢查組織結(jié)構(gòu)和器官的灰度圖像;多普勒處理用于在灰度圖像上疊加血流平均速度的空間分配的顏色編碼顯示。
2.1 B?Mode模型
B?Mode模型主要實(shí)現(xiàn)包絡(luò)檢測(cè)和對(duì)數(shù)動(dòng)態(tài)壓縮。對(duì)空間某點(diǎn)S,系統(tǒng)在發(fā)射超聲信號(hào)狀態(tài)下,假設(shè)陣列發(fā)射的是單一頻率的平面波信號(hào),如果設(shè)波的傳播速度為c,中心頻率為f0,對(duì)應(yīng)的角頻率為ω0,波數(shù)為k0,發(fā)射的信號(hào)s(t)可表示為[s(t)=ejωt]。設(shè)第n個(gè)陣元發(fā)射延遲時(shí)間為τn。在接收回波信號(hào)狀態(tài)下,第m個(gè)陣元接收延遲時(shí)間為τm,合成聚焦表示為:
[S(r,θ)=n=0N-1m=0N-1sm,nt-2rc-τm,n =n=0N-1m=0N-1sm,nt-2rc-τm-τn]
第m個(gè)陣元發(fā)射時(shí)的延遲時(shí)間τm可由下式計(jì)算(式中[r?xm]):
[τm=rm-rc=x2m+r2+2xmrsinθ-rc ≈xmrsinθc=m-N-12dsinθc]
而第n個(gè)陣元接收時(shí)的延遲時(shí)間τn可由下式計(jì)算:
[τn≈-xnsinθc=-n-N-12dsinθc]
以上計(jì)算的延遲時(shí)間是相對(duì)于陣元中心的相對(duì)延遲時(shí)間,絕對(duì)延遲時(shí)間應(yīng)該加上一個(gè)常數(shù)[2rc]。實(shí)際成像過程中,對(duì)于每一點(diǎn),將各個(gè)陣元接收回波時(shí)間序列的對(duì)應(yīng)絕對(duì)延遲時(shí)間位置的幅值疊加并歸一化,就得到了該點(diǎn)像素的灰度值。
為了使成像質(zhì)量高,邊緣清晰,采用SRAD(Speckle Reducing Anisotropic Diffusion)算法,即各向異性擴(kuò)散去噪算法。其最大優(yōu)點(diǎn)是保持均值,降低噪聲方差,邊緣定位,對(duì)人體組織有一個(gè)最佳的成像顯示[3]。
假設(shè)x代表空間的橫坐標(biāo),y為空間的縱坐標(biāo),V(x,y)為軸向的反射波的帶通信號(hào),物體的散射函數(shù)為T(x,y),發(fā)射超聲波的脈沖響應(yīng)為h(x,y);則
[V(x,y)=h(x,y)?T(x,y)]
所以[h(x,y)=h1(x)?h2(y)],其中[h1(x)]表示高斯權(quán)重正弦函數(shù),可以寫為:
[h1(x)=sin(k0x)e-x22σx2]
式中:[k0=2πf0c];[c]為聲速;[f0]為超聲發(fā)射頻率;[σx]為超聲發(fā)射波的脈寬[4];
[h2(y)]表示接收傳感器對(duì)發(fā)射波的空間響應(yīng),其表達(dá)式如下:
[h2(y)=e-y22σy2]
式中:[σy]為波陣列的強(qiáng)度。
[T(x,y)=t(x,y)×G(x,y)]
式中:[t(x,y)]為回聲發(fā)射分布;[G(x,y)]為均值為1,方差任意的高斯白噪聲。由于[V(x,y)]為帶通的,所以總可寫成如下形式:
[Va(x,y)=V(x,y)+i*VH(x,y)]
式中:[VH(x,y)]為[Va(x,y)]的希爾伯特變換。
[A(x,y)=Va(x,y)]完成包絡(luò)檢測(cè),得到回聲信號(hào)的幅值,再將幅值進(jìn)行對(duì)數(shù)壓縮[log (A(x,y))],則完成了B?Mode成像算法部分。
2.2 Doppler效應(yīng)模型
如果超聲探頭發(fā)射頻率為[f0],接收頻率為[fr],則:
[fr=f0(1+vccosθ1)1-vccosθ2]
式中:c為聲速;v為血流速度。通常情況下[v?c],所以有[fr=f01+vccosθ1+vccosθ2],多普勒頻移為:
[fd=fr-f0=vccosθ1+vccosθ2]
如果[θ1≈θ2≈θ],則:
[fd=2vccosθ]
[v=cfd2cosθ]
由此式可以計(jì)算出成像物體的運(yùn)動(dòng)速度。
3 成像過程的DSP實(shí)現(xiàn)方法
TMS320C6472為同構(gòu)多核DSP,其內(nèi)部集成了6個(gè)相同的C64x+DSP核Core0~Core5,不同的DSP可以并行執(zhí)行各自的算法部分,對(duì)于整個(gè)成像部分[5],做如下任務(wù)分配:Core0為主控核,主要進(jìn)行數(shù)據(jù)I/O的操作及各個(gè)任務(wù)的統(tǒng)一調(diào)度;Core1實(shí)現(xiàn)BPU處理;Core2實(shí)現(xiàn)DPU處理,如圖2所示。
圖2 多核DSP的任務(wù)分配
Core0作為主控核,主要完成數(shù)據(jù)I/O操作,包括接收系統(tǒng)前端傳遞的數(shù)據(jù),創(chuàng)建各個(gè)任務(wù)線程,將處理數(shù)據(jù)傳遞給Core1和Core2的線程進(jìn)行數(shù)據(jù)處理,并將處理好的數(shù)據(jù)進(jìn)行合并輸出到系統(tǒng)后端做處理[6]。整個(gè)軟件流程如圖3所示。圖3中給出了DSP處理模塊的算法框圖,展示了各個(gè)模塊初之間的關(guān)系初始化順序。中端初始化主要包括處理引擎開啟OpenEngine()、創(chuàng)建消息隊(duì)列CreatQueues()、建立數(shù)據(jù)分發(fā)任務(wù)SetupScatterTask()、建立數(shù)據(jù)聚集任務(wù)SetupGatherTask()、BPU及DPU數(shù)據(jù)簇處理CreateBpucluster()、CreateDpucluster()等任務(wù)。模塊初始化之后,MidEnd_scatter Task()函數(shù)獲取循環(huán)輸入數(shù)據(jù),然后利用MessageQ模塊將數(shù)據(jù)傳輸?shù)紹PU模塊和DPU模塊,各自對(duì)數(shù)據(jù)進(jìn)行處理之后,MidEnd_Gather Task()函數(shù)將數(shù)據(jù)進(jìn)行整合,整合之后的數(shù)據(jù)再傳輸?shù)胶蠖俗鲲@示處理[7]。
圖3 DSP算法實(shí)現(xiàn)框圖
BPUcluster_Process()函數(shù)是BPU處理算法模塊。BPU處理算法模塊獲取輸入數(shù)據(jù)并初始化DMA信道,然后進(jìn)行包絡(luò)檢測(cè)(EnvelopDetection()函數(shù))和動(dòng)態(tài)壓縮(DynRangeCompression()函數(shù)),最后復(fù)原DMA信道,由于包絡(luò)檢測(cè)函數(shù)循環(huán)接收處理數(shù)據(jù),對(duì)其進(jìn)行包絡(luò)檢測(cè)處理之后,將其中間結(jié)果存放到外部緩存中,然后動(dòng)態(tài)壓縮函數(shù)(同樣是循環(huán)獲取處理)從外部緩存獲取數(shù)據(jù),在數(shù)據(jù)處理結(jié)束后,數(shù)據(jù)會(huì)存放到輸出緩存中等待MidEnd_Gather_Task()獲取[8]。DPUcluster_Process()函數(shù)是DPU處理算法模塊。主要計(jì)算人體血管的血流信息,包括DPU_dpuIQtoAccorrPows()函數(shù)函數(shù)計(jì)算功率信息,DPU_dpu CalcVelVar()函數(shù)計(jì)算平均速度,而DPU_dpuWallfiltercolor()則實(shí)現(xiàn)了對(duì)血管組織壁的濾波,去除血管壁組織的干擾[9]。
4 結(jié) 語
前端數(shù)據(jù)經(jīng)過BPU的B?Mode成像和DPU的Doppler成像,分別得到了血管壁組織和血流信息,再將其整合從而得到動(dòng)脈血管的成像,如圖4所示。圖4(a)為超聲前端原始數(shù)據(jù)以BMP圖像格式呈現(xiàn),圖4(b)為超聲成像仿真圖像,從中可見頸動(dòng)脈血管。通過以多核DSP為超聲成像的核心,未來結(jié)合嵌入式技術(shù),從而有望將傳統(tǒng)的超聲成像設(shè)備便攜化、低功耗化,大大提高超聲臨床診斷的靈活性,擴(kuò)展其應(yīng)用范圍。
圖4 成像結(jié)果
參考文獻(xiàn)
[1] 駱國麗,張學(xué)健,肖亮.基于多核DSP的超聲成像的高速數(shù)據(jù)傳輸[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(9):3024?3028.
[2] 肖亮,張學(xué)健.基于多核DSP的超聲成像處理算法的并行實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(6):27?30.
[3] 王明華,汪曉光.基于雙DSP的彩色血流顯示實(shí)驗(yàn)系統(tǒng)[J].北京生物醫(yī)學(xué)工程,2004,23(1):67?69.
[4] 韓志會(huì),鄭馳超,彭虎.三維超聲成像綜述[J].中國醫(yī)療器械信息,2011,17(7):9?14.
[5] 閆鵬.基于嵌入式的便攜式B超軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2010.
[6] YU Yongjian, ACTON S T. Speckle reducing anisotropic diffusion [J]. IEEE Transactions on Image Processing, 2002, 11(11): 1260?1270.
[7] 石順中.基于OMAP的超聲三維成像系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[8] 彭虎.超聲成像算法導(dǎo)論[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,2008.
[9] BAMBRE J C, DICKINSON R J. Ultrasonic B?scanning: A computer simulation [J]. Phys Med Biol, 1980, 25(3): 463?79.