李美珊, 薛佳楣, 明艷春
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154007)
疫情的出現(xiàn),使遠(yuǎn)程醫(yī)療得以發(fā)展,在遠(yuǎn)程醫(yī)療中診斷時(shí),如何做到醫(yī)學(xué)圖像在傳輸過(guò)程中,既要保障圖像重建質(zhì)量,又要用盡可能少的信息來(lái)表示,這就要對(duì)圖像進(jìn)行壓縮,早期的壓縮編碼不能達(dá)到對(duì)壓縮比和重構(gòu)圖像效果的要求,小波變換[1-2]是基于時(shí)頻分析的一種方法,是基于數(shù)學(xué)特性形成的新工具,它的出現(xiàn)使圖像分析更便捷、快速,在視覺(jué)領(lǐng)域被廣泛的使用。
采用小波提升方案進(jìn)行圖像三級(jí)分解,在小波基的選擇中采用性能更優(yōu)的D5/3小波,小波變換的提升方案將彌補(bǔ)小波變換的缺陷,降低算法的復(fù)雜度和運(yùn)算速度,對(duì)機(jī)器內(nèi)存要求低,便于硬件實(shí)現(xiàn),部分算法利用DSPC6713芯片和SPIHT算法來(lái)完成,對(duì)測(cè)試圖像在不同比特率上進(jìn)行壓縮,獲得更優(yōu)的峰值信噪比和壓縮率。
提升小波變換是由Sweldens通過(guò)改變第一代小波的基礎(chǔ)上產(chǎn)生的,第一代小波變換利用基底平移及伸縮完成小波基的構(gòu)造,并在歐氏空間內(nèi)實(shí)現(xiàn),在非歐式空間內(nèi)應(yīng)用效果不佳,為了解決這一問(wèn)題,小波提升方案(lifting scheme)[5.9]應(yīng)運(yùn)而生。
提升算法的基本原理
小波提升方法主要是將高頻、低頻信號(hào)進(jìn)行分離,包括分裂、預(yù)測(cè)和更新三個(gè)步驟。
(1)分裂(Split)
Sj原始信號(hào),在分裂過(guò)程中生成兩個(gè)集合,如果采用奇偶分裂法,將獲得偶數(shù)集Sj,2l和Sj中所有偶數(shù)值,奇數(shù)集Sj,2l+1包含所有奇數(shù)值,即分裂
(Sj)=(偶數(shù)j-1,奇數(shù)j-1)=(Sj,2l,Sj,2l+1)
(1)
(2)預(yù)測(cè)(Predict)
1.3 統(tǒng)計(jì)學(xué)方法 采用SPSS 22.0統(tǒng)計(jì)學(xué)軟件進(jìn)行數(shù)據(jù)分析。計(jì)數(shù)資料以例(百分率)表示,組間比較采用χ2檢驗(yàn);計(jì)量資料采用均數(shù)±標(biāo)準(zhǔn)差表示,組間比較采用t檢驗(yàn)。以P<0.05為差異有統(tǒng)計(jì)學(xué)意義。
預(yù)測(cè)是運(yùn)用數(shù)據(jù)間的相關(guān)性,Sj的奇、偶數(shù)之間在一定程度上具有相關(guān)性,可以利用偶數(shù)集合Sj,2l的值預(yù)測(cè)奇數(shù)部分Sj,2l+1,在此過(guò)程中通過(guò)偶數(shù)部分?jǐn)?shù)據(jù)來(lái)預(yù)測(cè)奇數(shù)部分?jǐn)?shù)據(jù),按式(2)定義預(yù)測(cè)算子
dj-1=奇數(shù)j-1-P(偶數(shù)j-1)sj,2l+1-P(sj,2l)
(2)
其中,小波變換信號(hào)的高頻部分為dj-1。
(3)更新(Update)
在分裂過(guò)程中產(chǎn)生的子集Sj,2l,與Sj相比在整體特性上產(chǎn)生差異[6],但是為了與原始數(shù)據(jù)的特性保持一致,需對(duì)子集進(jìn)行更新運(yùn)算。為了生成一個(gè)更好的子集cj-1,加入U(xiǎn)作為更新算子,對(duì)dj-1進(jìn)行運(yùn)算,更新的過(guò)程如下所示:
cj-1=偶數(shù)j-1+U(dj-1)=sj,2l+U(dj-1)
(3)
其中,小波變換信號(hào)的低頻部分為cj-1,為實(shí)現(xiàn)多級(jí)小波變換,對(duì)cj-1重復(fù)以上步驟即可。
用于小波提升的算法都可以進(jìn)行逆向運(yùn)算,重構(gòu)圖像與分解圖像的步驟類似,分別為取消更新、取消預(yù)測(cè)、合并三個(gè)步驟,重構(gòu)的公式如下所示:
(4)
分級(jí)樹(shù)[3-4]是在掃描過(guò)程中用來(lái)記錄不重要系數(shù)位置的零樹(shù)集合,通過(guò)設(shè)置不同的量化誤差級(jí)別產(chǎn)生不同的零樹(shù)結(jié)構(gòu);量化誤差級(jí)別不停的減小,使重要系數(shù)不間斷從不重要系數(shù)集合中分離開(kāi)來(lái),由此,零樹(shù)也不停發(fā)生變化。SPIHT算法正是通過(guò)不斷減小量化誤差,不斷分裂不重要系數(shù)集合,實(shí)現(xiàn)零數(shù)不斷變化的編碼算法。
SPIHT是EZW算法的改進(jìn)[8]。SPIHT算法采用了與EZW算法類似的零樹(shù)集合,如圖1所示,并且引入三個(gè)鏈表:LIP-不重要系數(shù)表;LSP-重要系數(shù)表;LIS-不重要子集表。
圖1 SPIHT算法采用的樹(shù)結(jié)構(gòu)
算法主要包含四個(gè)過(guò)程。
(l)掃描過(guò)程
通過(guò)對(duì)所有系數(shù)進(jìn)行判斷,獲得了一幅在當(dāng)前閾值下所有重要小波系數(shù)的圖像。
(2)排序過(guò)程
經(jīng)過(guò)掃描后,重要像素鏈表(LSP)中存放了重要小波系數(shù),針對(duì)當(dāng)前給定閾值進(jìn)行掃描和細(xì)化,最終得到相對(duì)于現(xiàn)在閾值下的重要小波系數(shù)集合,此后,對(duì)當(dāng)前閾值進(jìn)行減半操作,再次進(jìn)行掃描和細(xì)化,到閾值為1時(shí)停止。
(3)細(xì)化過(guò)程
將LSP中的每個(gè)元素(i,j),輸出|ci,j|中第n位的值,不包含在之前分類過(guò)程中加入元素。
(4)量化及步長(zhǎng)更新
令n=n-1,再轉(zhuǎn)到第(2)步執(zhí)行。
通過(guò)對(duì)SPIHT[6-7]算法描述的過(guò)程可以看到,排序后不斷的隱藏傳輸是它的最大特點(diǎn),在不斷地進(jìn)行掃描、編碼中占用大量?jī)?nèi)存。每當(dāng)T=2n減小,閾值T=2n等同于原來(lái)閾值的1/2,在閾值不停減小的過(guò)程中使更多的不重要系數(shù)變成重要系數(shù)被輸出,與此同時(shí),量化所產(chǎn)生的誤差也不斷變小,使重構(gòu)圖像的失真度也隨之減小[6]。但是如果要實(shí)現(xiàn)定比例壓縮,當(dāng)閾值減小到一定值就停止圖像編碼,不僅得到了我們所需要的壓縮比,減少了掃描次數(shù),縮短了壓縮時(shí)間。因此,在算法改進(jìn)過(guò)程中引入了“給定最小閾值”的概念,即當(dāng)閾值減少到一個(gè)數(shù)值即停止掃描。
根據(jù)仿真實(shí)驗(yàn)結(jié)果顯示,測(cè)試圖像在達(dá)到不同的壓縮比時(shí),都存在一個(gè)“最小閾值”,并且最小閾值越大,壓縮比也就大,那么意味著輸出重要的系數(shù)變少,LSP表也就越小,節(jié)省了內(nèi)存空間,加快了運(yùn)行時(shí)間,得到了相應(yīng)的壓縮比,將最小閾值設(shè)為Tmin。
在仿真實(shí)驗(yàn)中,利用D5/3提升小波對(duì)256×256的醫(yī)學(xué)圖像進(jìn)行三級(jí)小波變換,在不同比特率下,運(yùn)用SPIHT改進(jìn)算法對(duì)其編碼。再對(duì)相同測(cè)試圖像采用db4三級(jí)小波變換,運(yùn)用SPIHT算法進(jìn)行編碼。將實(shí)驗(yàn)數(shù)據(jù)峰值信噪比、編碼、解碼所花費(fèi)的時(shí)間作為評(píng)價(jià)依據(jù),表1為實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)對(duì)比如圖2、3、4所示。
從實(shí)驗(yàn)數(shù)據(jù)1和圖2、3、4分析得出,在比特率為0.2時(shí),使用的D5/3提升小波和SPIHT改進(jìn)算法對(duì)比Db4小波結(jié)合SPIHT算法,峰值信噪比由27.93提高到29.23,在編碼、解碼時(shí)間上降低較??;在比特率為0.4時(shí),改進(jìn)算法峰值信噪比提高1.6db;比特率在0.6時(shí),峰值信噪比提高0.8db;比特率在0.9時(shí),峰值信噪比可提高1.73db,編碼和解碼花費(fèi)的時(shí)間縮短3.04s。綜上所述,此方法無(wú)論在峰值信噪比、編碼時(shí)間、解碼時(shí)間上都明顯優(yōu)于Db4小波結(jié)合SPIHT算法。
表1 實(shí)驗(yàn)結(jié)果比較
圖2 峰值信噪比分析
圖3 壓縮時(shí)間分析
圖4 解壓縮時(shí)間分析
分析發(fā)現(xiàn)醫(yī)學(xué)圖像的特征明顯,而第一代小波變換的運(yùn)算復(fù)雜度高,有極大的缺陷并不適合醫(yī)學(xué)圖像的壓縮,在研究中運(yùn)用Matlab仿真平臺(tái),對(duì)大量醫(yī)學(xué)圖像進(jìn)行實(shí)驗(yàn),通過(guò)對(duì)數(shù)據(jù)進(jìn)行整理、分析、總結(jié)得出結(jié)論,小波基在小波變換中有起著至關(guān)重要作用,找到了更適合醫(yī)學(xué)圖像壓縮的雙正交D5/3小波,并在小波系數(shù)上進(jìn)行了提升。
另外,SPIHT算法更優(yōu)于其它經(jīng)典算法,采用了更細(xì)致的集合不斷分裂方式,在壓縮效率上有極大改進(jìn),但是SPIHT算法在運(yùn)行過(guò)程中不斷給閾值減半導(dǎo)致算法的存儲(chǔ)量增大,針對(duì)此缺點(diǎn)對(duì)SPIHT算法進(jìn)行了改進(jìn),采用了“最小閾值”的方法,在一定程度上解決了存儲(chǔ)量大的問(wèn)題。
綜合醫(yī)學(xué)圖像的特性、壓縮算法、實(shí)驗(yàn)數(shù)據(jù)分析,選擇了D5/3雙正交小波進(jìn)行小波系數(shù)提升,在編碼上對(duì)SPIHT算法進(jìn)行改進(jìn),加入給定閾值的思想,通過(guò)對(duì)此算法的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析得出結(jié)論,此算法對(duì)比經(jīng)典的小波變換壓縮方法,取得了更優(yōu)的峰值信噪比,在壓縮時(shí)間和解壓時(shí)間上有顯著提高,使重構(gòu)的圖像視覺(jué)效果更清晰。