<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > SPIHT算法在醫(yī)學(xué)圖像無(wú)失真壓縮中的應(yīng)用

          SPIHT算法在醫(yī)學(xué)圖像無(wú)失真壓縮中的應(yīng)用

          作者: 時(shí)間:2010-04-20 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          隨著社會(huì)的發(fā)展和醫(yī)療技術(shù)的進(jìn)步,人們對(duì)身體健康的關(guān)心程度越來(lái)越高。醫(yī)學(xué)影像已經(jīng)不再是僅供醫(yī)生參考的信息而成為診斷疾病的重要依據(jù)。在網(wǎng)絡(luò)傳輸條件下的圖像壓縮編碼成為建立數(shù)字化醫(yī)院的關(guān)鍵技術(shù)。目前,二維圖像的壓縮標(biāo)準(zhǔn)有JPEG、GIF及采用了小波變換的JPEG2000等。具有特殊性,它一般不允許丟失有用的細(xì)節(jié)信息。傳統(tǒng)的DCT(Discrete Cosine Transform,離散余弦變換)和第一代小波在圖像變換后會(huì)產(chǎn)生浮點(diǎn)數(shù),因而必須對(duì)變換后的數(shù)據(jù)進(jìn)行量化處理,這樣就會(huì)產(chǎn)生不同程度的??梢?,量化器的設(shè)計(jì)是決定圖像保真度的關(guān)鍵環(huán)節(jié)。由于第二代小波采用提升方法能夠?qū)崿F(xiàn)整數(shù)變換,因而能夠?qū)崿F(xiàn)圖像的無(wú)損壓縮,顯然,它是一種很適于的壓縮方法。

          本文引用地址:http://www.ex-cimer.com/article/199843.htm

          2 

          基于分層樹的集合劃分(Set Partitioning inHierarchical Trees,)改進(jìn)了內(nèi)嵌零樹編碼(EZW)。在對(duì)圖像進(jìn)行小波變換后,它更有效地利用了不同尺度子帶重要系數(shù)間的相似性。它呈現(xiàn)出良好的特性:不依賴傅立葉變換而在空間域中構(gòu)造小波;較高的PSNR(Peak Signal Noise Ratio,峰值信噪比)保證了良好的重現(xiàn)圖像質(zhì)量;整數(shù)運(yùn)算利于實(shí)現(xiàn)實(shí)時(shí)快速編解碼和網(wǎng)絡(luò)傳輸;圖像碼流的逐漸呈現(xiàn)便于用戶上網(wǎng)檢索感興趣的圖像。

          算法對(duì)圖像信息采用如下的編碼步驟。

          首先,定義三個(gè)隊(duì)列:不顯著性系數(shù)隊(duì)列LIP,顯著性系數(shù)隊(duì)列LSP和不顯著性集合隊(duì)列LIS。

          設(shè),O(i,j)表示節(jié)點(diǎn)(i,j)的直接節(jié)點(diǎn)的集合;D(i,j)表示節(jié)點(diǎn)(i,j)的子節(jié)點(diǎn)集合;L(i,j)表示子節(jié)點(diǎn)中排除直接節(jié)點(diǎn)后的集合。

          在隊(duì)列中,每個(gè)元素由一個(gè)坐標(biāo)唯一識(shí)別,它在LIP和LSP中代表孤立系數(shù)(無(wú)子節(jié)點(diǎn)的根節(jié)點(diǎn)),在LIS中代表第一類元素的D(i,j)或者第二類元素的L(i,j)。

          對(duì)某個(gè)閾值T進(jìn)行顯著性測(cè)試。將大于T的元素移入LSP,并在LIP隊(duì)列中移除該元素。對(duì)LIS也進(jìn)行同樣的測(cè)試,將顯著的元素移入LSP,其他的再進(jìn)行樹的分裂。

          用類C++語(yǔ)言描述的SPIHT算法如下:

          第一步,閾值T和三個(gè)隊(duì)列(LSP、LIS和LIP)初始化。

          (2)if(x,y)是第二類元素,對(duì)L(i,j)進(jìn)行顯著性測(cè)試

            if(L(i,j))==1 all(k,l)∈O(i,j)作為第一類元素移入LIS,從LIS出隊(duì)。

            第三步,比特傳輸/存儲(chǔ)。將LSP中的每個(gè)系數(shù)轉(zhuǎn)化成二進(jìn)制傳輸/存儲(chǔ)。

            第四步,閾值更新并轉(zhuǎn)至第二步:T/=2;gotostep2。

          3 提升方案與第二代小波

          提升方法構(gòu)造小波分為分裂、預(yù)測(cè)和更新三個(gè)步驟。

          3.1 分裂(split)

          將一原始信號(hào)序列Sj按偶數(shù)和奇數(shù)序號(hào)分成兩個(gè)較小的、互不相交的小波子集Sj-1和dj-1:



          3.2 預(yù)測(cè)(predict)

          由于數(shù)據(jù)間存在相關(guān)性,因而可以定義一個(gè)預(yù)測(cè)算子P,使dj-1=P(Sj-1),這樣可用相鄰的偶數(shù)序列來(lái)預(yù)測(cè)奇數(shù)序列。若用dj-1與P(Sj-1)的差值代替dj-1,則其數(shù)據(jù)量要比原始dj-1小得多。

          最簡(jiǎn)單的情況下,取兩個(gè)相鄰偶數(shù)序號(hào)所在數(shù)據(jù)的均值作為它們間奇數(shù)序號(hào)所在數(shù)據(jù)的預(yù)測(cè)值。即,

          3.3 更新(update)

          由于上述兩個(gè)過(guò)程一般不能保持原圖像中的某些整體性質(zhì)(如亮度),為此,我們要構(gòu)造一個(gè)U算子去更新Sj-1,使之保持原有數(shù)據(jù)集的某些特性。

          4 編/解碼方案

          本文中前端采用第二代小波(lifting wavelet),接著對(duì)小波系數(shù)采用SPIHT算法,然后,采用Amir Said的自適應(yīng)算術(shù)編碼。解碼是編碼的逆過(guò)程,包括與正向SPIHT對(duì)應(yīng)的三個(gè)步驟:恢復(fù)更新、恢復(fù)預(yù)測(cè)和合并(merge)。編/解碼方案如圖1所示。

          如果前端利用第一代小波進(jìn)行有損壓縮,可以取得更高的壓縮比。顯然,第二代小波變換對(duì)數(shù)據(jù)壓縮的高保真性與高壓縮比的要求是矛盾的。

          5 實(shí)驗(yàn)結(jié)果及結(jié)論

          對(duì)上一編碼方案,我們分別對(duì)和Lena圖像進(jìn)行了測(cè)試,碼率bbp采用bit/pixel。由于采用了無(wú)損壓縮方案,所以,表1中的三種不同編碼方法均有PSNR=∞。

          從表1可以看出,在對(duì)標(biāo)準(zhǔn)測(cè)試圖像Lena進(jìn)行編碼時(shí)性能差別不是很大,但由于一般的醫(yī)學(xué)圖像的邊緣存在大量的“零像素”,因此,在用SPIHT編碼時(shí)可以產(chǎn)生大量的“零樹”,大大減少了數(shù)據(jù)量。所以,在對(duì)醫(yī)學(xué)圖像進(jìn)行壓縮時(shí),更適合采用本文的方法。

          進(jìn)一步的分析表明,與目前廣為使用的JPEG相比較,本壓縮方案占用內(nèi)存小、編碼效率高且無(wú)馬賽克現(xiàn)象。在低碼率時(shí),兩者間的差距更為明顯。如果該方案采用并行快速算法和硬件實(shí)現(xiàn),其實(shí)時(shí)性會(huì)進(jìn)一步提高,所以,該醫(yī)學(xué)圖像壓縮方案有較好的應(yīng)用前景。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();