摘 要:從分形編碼理論和醫(yī)學(xué)圖像的基本特點(diǎn)出發(fā),提出將分形編碼技術(shù)應(yīng)用于醫(yī)學(xué)影像壓縮的主張。并結(jié)合Fisher分類方法針對醫(yī)學(xué)圖像的特點(diǎn)提出改進(jìn)方法,進(jìn)一步提高圖像壓縮編碼的效率。
關(guān)鍵詞:分形編碼;醫(yī)學(xué)影像;分類
中圖分類號:TP315 文獻(xiàn)標(biāo)識碼:A
1 引言
近年來圖像編碼取得了重要的進(jìn)展,許多新的思想被提出來,分形編碼就是其中最引人矚目的技術(shù)之一。分形編碼打開了圖像壓縮的一個(gè)全新的編碼思路,而將分形技術(shù)應(yīng)用到醫(yī)學(xué)影像壓縮是一項(xiàng)非常有意義的嘗試。
2 分形編碼
在上世紀(jì)80年代末期,Barnsley和Sloan首次提出迭代函數(shù)系統(tǒng)(Iterated Function System,IFS)的概念,并認(rèn)識到IFS可以很好地被應(yīng)用于圖像壓縮領(lǐng)域。
分形編碼的基本思想是:利用圖像處理技術(shù)首先把圖像分成若干小塊,然后拼合匹配,在IFS庫中尋找這些小塊,記下每個(gè)小塊的IFS代碼,這些IFS代碼便是圖像的分形碼表示方式。
通過這組碼,可迭代恢復(fù)出原來的圖像。因IFS碼需要較小的數(shù)據(jù)表示,故此法可得到較高的壓縮比。因此,一幅圖像的分形編碼就是尋找一個(gè)合適的壓縮仿射變換,它的不動點(diǎn)是原始圖像盡可能好的近似(基本分形編碼過程如圖1所示)。而解碼圖像由分形碼表示的壓縮變換迭代作用于任意初始圖像來逼近,是一個(gè)相對簡單的快速迭代過程。
隨后在上世紀(jì)90年代,掀起了對分形圖像壓縮技術(shù)研究的熱潮。但是分形圖像壓縮技術(shù)存在一個(gè)致命的缺點(diǎn),即壓縮時(shí)間過長,以至于不能實(shí)用。所以在90年代后期之后,對于分形圖像壓縮的研究則主要集中在對編碼的加速方面,但一直沒有得到很好地解決。
3 醫(yī)學(xué)影像
近20多年來,醫(yī)學(xué)影像已成為醫(yī)學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,其結(jié)果使臨床醫(yī)生對人體內(nèi)部病變部位的觀察更直接、更清晰,確診率也更高。計(jì)算機(jī)和醫(yī)學(xué)圖像處理技術(shù)作為醫(yī)學(xué)成像技術(shù)的發(fā)展基礎(chǔ),帶動現(xiàn)代醫(yī)學(xué)診斷產(chǎn)生著深刻的變革。在醫(yī)學(xué)影像系統(tǒng)中,圖像壓縮是至關(guān)重要的技術(shù)之一。
在醫(yī)學(xué)影像中,如各種X片、超聲影像等圖像數(shù)據(jù)量大,而且日增量大,若圖像未經(jīng)壓縮就存儲到數(shù)據(jù)庫或其他介質(zhì)上,對數(shù)據(jù)庫及存儲介質(zhì)的容量、性能以及管理等都提出非常高的要求,對網(wǎng)絡(luò)帶寬及通信質(zhì)量保證也有較高要求。因此,在各類醫(yī)學(xué)影像系統(tǒng)中都采取了相應(yīng)的圖像壓縮技術(shù),而醫(yī)學(xué)圖像由于其特有的嚴(yán)肅性,要求壓縮技術(shù)具有較好的還原性,能盡量減少圖像細(xì)節(jié)損失。
在實(shí)踐中我們發(fā)現(xiàn)醫(yī)學(xué)圖像中存在著大量的背景色及近背景色區(qū)域,內(nèi)部灰度分布比較均勻,具有較大的空間冗余,且圖像具有非常明顯的分形特征,所以采用改進(jìn)的分形編碼技術(shù)來壓縮圖像,應(yīng)能較好地滿足以上特定的需求。
4 分類技術(shù)
在分形壓縮編碼技術(shù)中,搜索最佳匹配計(jì)算量很大,占用了編碼的大部分時(shí)間,限制了它的實(shí)際應(yīng)用,因此如何快速地尋找定義域子塊(DomainBlock,簡稱為D塊)和值域子塊(Range Block,簡稱為R塊)之間的最佳匹配是最為關(guān)鍵的部分,它要求快速剔除不需匹配的D塊,降低需要計(jì)算的欲匹配D塊的數(shù)目,且不能誤刪可能成為最佳匹配項(xiàng)的D塊,即以較小的計(jì)算代價(jià)為每個(gè)R塊尋找一個(gè)包含最精確匹配的最小D塊集合。
尋找最精確匹配的最小D塊集合,最直接的方法就是采用窮舉法。一般而言,一幅圖像按既定方法分割后得到的D塊數(shù)目比較大,窮舉法的計(jì)算量也非常龐大,因此現(xiàn)已提出了許多加速方法,其中最常見的就是分類法(Classification Tech-niques)。
分類方法的思想是:預(yù)先將所有D域塊按一定的分類準(zhǔn)則(往往是圖像塊的一些灰度特征)分成若干類,在編碼時(shí)對每個(gè)待編碼的R塊,按照同一準(zhǔn)則確定它所屬的類,其最優(yōu)匹配塊只在同類或相鄰類的D塊中尋找,從而在不降低圖像質(zhì)量的前提下,減少了搜索量。由于此時(shí)是局部搜索而非全局搜索,因而對一個(gè)待編碼的R塊,其“最優(yōu)”匹配的D塊可能無法找到,不可避免地造成解碼圖像的質(zhì)量會有所下降。然而,如果編碼速度提高很多,而圖像質(zhì)量下降在可允許的情況下,這種“不是全局最優(yōu)但是局部最優(yōu)”的滿意匹配的快速編碼原則是合理的,相應(yīng)的編碼方法是有效實(shí)用的,因此基于這種思想的加速方法頗受關(guān)注和重視。Fisher分類將圖像塊等分為4個(gè)像限,在每個(gè)像限中,分別計(jì)算相應(yīng)的灰度均值A(chǔ)i和方差Mi。
式中i∈{1,2,3,4};n是各子塊的像素個(gè)數(shù),Pj,是各子塊中位置j的像素值。
首先按照各子塊的亮度總和值排序,共有4!=24種情況,將圖像塊旋轉(zhuǎn)或翻轉(zhuǎn)使得灰度均值依從大到小方式排序,共將圖像塊分成3個(gè)主類,即第一主類:A1≥A2≥A3≥A4;第二主類:A1≥A2≥A3≥A4;第三主類:A1≥A4≥A2≥A3。類似地,對3個(gè)主類中的塊再分別按照各子塊均方差的值排序,則可以進(jìn)一步分成24個(gè)子類,這樣每個(gè)圖像塊都將被分類到3個(gè)主類下的24個(gè)子類之一中去(如圖2所示)。
5 基于醫(yī)學(xué)影像特征的加速改進(jìn)
基于以上分類分形理論以及醫(yī)學(xué)影像本身的特點(diǎn),我們提出了一些加速改進(jìn)策略,以期進(jìn)一步提高壓縮效率。
5.1 平坦塊和近似平坦塊
在醫(yī)學(xué)圖像中,存在著大片的灰度值分布比較均勻的塊,通常表現(xiàn)為背景色或高亮度區(qū)域,可以將它們視為平坦塊(Flat Block)或近似平坦塊。由于其灰度分布很均勻,不存在圖像細(xì)節(jié),所以在編碼過程中可以不必進(jìn)行D塊的搜索,而只要用某個(gè)常數(shù)塊來逼近即可,其灰度值等于D塊的灰度均值。
另一方面,平坦塊或近似平坦塊也不太可能成為其它任意R塊的匹配塊,因此應(yīng)該將它從D塊庫中剔除。根據(jù)這些分析,我們可以設(shè)置一個(gè)準(zhǔn)則,用以判斷R塊或D塊是否是平坦塊或近似平坦塊,如圖像塊的均方差等,具體實(shí)施如下:設(shè)定某個(gè)閾值v0,若某R塊的灰度均方差小于這個(gè)閾值,則將此定義域塊從D塊庫中排除;若某R塊的灰度均方差小于此閾值,則用一個(gè)灰度值等于該R塊灰度均值的常數(shù)塊逼近即可,不需再進(jìn)一步比較;否則進(jìn)入下一步處理。
5.2 Fisher分類
在這里,對上一步留下的非平坦塊進(jìn)行Fisher分類,將圖像分為3×24=72類。
5.3 映射變換的計(jì)算
對某一R塊,需要與其同類的所有D塊進(jìn)行比較:若該類D塊的數(shù)目為ND,因?yàn)橐獙γ恳粋€(gè)D塊進(jìn)行8種映射變換,所以需要進(jìn)行的比較次數(shù)為8×ND。
事實(shí)上,若R塊與某D塊匹配,則其灰度分布應(yīng)該是相似的,也即是說,對R塊和D塊都做四等分,則其灰度均值的大小排列順序應(yīng)該是相同的。所以,在編碼過程中,應(yīng)將D塊做某種變換,使得四分子塊的灰度均值排列順序與相應(yīng)的R塊相同。
圖像塊被四分時(shí),其子塊的灰度均值排列順序有4!=4×3×2×1=24種,這24種排列可以被劃分為三大類,即A1≥A2≥4≥A3,A1≥A4≥A2≥A3和A1≥A2≥A3≥A4。
上圖中,第一列框圖代表該主類的標(biāo)準(zhǔn)形式,后七列框圖則是由標(biāo)準(zhǔn)形式經(jīng)過旋轉(zhuǎn)和水平映射得到的,其中x代表順時(shí)針旋轉(zhuǎn)90度,y代表沿水平中線映射。由于沿垂直中線映射等價(jià)于順時(shí)針旋轉(zhuǎn)90度加沿水平中線映射,所以沒有單獨(dú)用一類變換來表示。
設(shè)某個(gè)R塊到它所屬主類的標(biāo)準(zhǔn)形式的變換為t1,當(dāng)前參與比較的D塊到同一主類的變換為t2,那么當(dāng)前D塊到該R塊的映射變換為t1·t2-1所以,上圖中的變換可以表示為一個(gè)8×7的變換矩陣,如下所示:
在該矩陣中,列下標(biāo)表示R塊到所屬主類標(biāo)準(zhǔn)型所作的變換,行下標(biāo)表示在該類中各D塊到標(biāo)準(zhǔn)型所作的變換,矩陣各行各列的值表示從D塊映射到R塊所應(yīng)作的變換。其中,“0”代表不作變換;“1”代表順時(shí)針旋轉(zhuǎn)90度;“2”代表順時(shí)針旋轉(zhuǎn)180度;“3”代表順時(shí)針旋轉(zhuǎn)270度;“4”代表沿水平中線映射;“5”代表沿垂直中線反射;“6”代表沿主對角線反射;“7”代表沿副對角線反射。
在編碼過程中,對于每一個(gè)R塊,與它進(jìn)行比較的D塊所應(yīng)作的變換可以通過查找變換矩陣matrix得到。這樣,對每個(gè)R塊進(jìn)行編碼的時(shí)間復(fù)雜度就從原來的8×ND降低到了ND。
6 算法描述
第一步:圖像分割。采用既定的分割策略,將圖像劃分為D塊和R塊。
第二步:建立D塊庫。對于每一個(gè)D塊,首先計(jì)算其灰度方差,并與給定閾值進(jìn)行比較,若D塊灰度方差小于該閾值,則該D塊被視為平坦塊/近似平坦塊而被剔除,否則將該D塊按Fisher分類方法進(jìn)行分類。
第三步:編碼。與上一步的方法相同,對于每一個(gè)R塊,首先計(jì)算其灰度均方差,若這個(gè)值小于給定閾值,記錄其灰度均值即可,而不需要和任何D塊進(jìn)行比較。否則,將它按Fisher分類方法進(jìn)行分類,然后在同類的D塊子庫中尋找其最優(yōu)匹配塊;此時(shí)R塊到該子庫中的每一個(gè)D塊上應(yīng)進(jìn)行的變換可以直接計(jì)算得到,記錄相關(guān)參數(shù)即完成了對該R塊的編碼。
7 總結(jié)
本文論述了基于Fisher分類方法的分形編碼理論,并根據(jù)醫(yī)學(xué)影像的特點(diǎn)提出了加速方法,使得壓縮時(shí)間、壓縮質(zhì)量和壓縮率均較傳統(tǒng)壓縮方法性能有明顯的提高,在計(jì)算量方面也有一定的改善,重構(gòu)圖像具有滿意的視覺效果,保持分類特征不變。