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