本發(fā)明涉及數(shù)字圖像壓縮,尤其是涉及一種能極大地降低計算復(fù)雜度和處理時間的直接計算的立方卷積樣條插值技術(shù)。
背景技術(shù):
目前,多媒體數(shù)據(jù)信息的壓縮技術(shù)種類繁多,部分已廣泛應(yīng)用于各種國際壓縮標(biāo)準(zhǔn)中,比如jpeg,h.26x等。然而,隨著這些傳統(tǒng)多媒體壓縮技術(shù)的應(yīng)用以及人們對這些技術(shù)的深入研究,也發(fā)現(xiàn)這些壓縮技術(shù)或多或少存在著不足,例如在壓縮率比較高的情況,壓縮技術(shù)所恢復(fù)的圖像/視頻會出現(xiàn)嚴重的方塊效應(yīng)等。如何在實現(xiàn)高壓縮率、低復(fù)雜度的同時仍能保持比較好的圖像/視頻的主客觀品質(zhì),即高效的壓縮技術(shù)成為迫切需要解決的問題。
立方卷積樣條插值技術(shù)(csi:cubicconvolutionsplineinterpolation)是一種用于對圖像數(shù)據(jù)進行再取樣的壓縮方法,由于基于最小化原始圖像與重構(gòu)圖像差別,結(jié)合了最小二乘法與立方卷積插值函數(shù),經(jīng)驗證比其他插值方法具有更好的圖像品質(zhì),且該算法可用來搭配像jpeg的圖像編碼標(biāo)準(zhǔn),得到比原先圖像編碼標(biāo)準(zhǔn)具有更高壓縮比和更好圖像品質(zhì)的改良式圖像壓縮技術(shù)。然而其計算復(fù)雜度也相對較大,特別是算法中的計算循環(huán)卷積部分。
在2000年t.ktruong等結(jié)合最小二乘法與立方卷積內(nèi)插核函數(shù),提出用快速傅里葉變換(fft)方法來實現(xiàn)立方卷積樣條插值算法(t.ktruong,l.j.wang,i.s.reed.“imagedatacompressionusingcubicconvolutionsplineinterpolation.”imageprocessing,ieeetransactionson9.11(2000):1988-1995),其后在2001年lung-jenwang等(lung-jenwang,wen-shyonghsieh,t.ktruong.“afastefficientcomputationofcubic-splineinterpolationinimagecodec.”signalprocessing,ieeetransactionson49.6(2001):1189-1197)提出wdtf(winograddiscretefouriertransform)與交疊求解的方法來實現(xiàn)立方卷積樣條插值算法,其后在2010年t.c.lin等(t.c.lin,trieu-kientruong,s.h.chen.“simplified2-dcubicsplineinterpolationschemeusingdirectcomputationalgorithm.”imageprocessing,ieeetransactionson19.11(2010):2913-2923)首次提出直接計算的方法來實現(xiàn)立方卷積樣條插值法。這三種常用的實現(xiàn)方法:基于快速傅里葉變換(fft:fastfouriertransform)方法、wdtf(winograddiscretefouriertransform)與交疊求解的方法以及直接計算方法區(qū)別在于計算循環(huán)卷積部分。其中作為最優(yōu)的直接計算方法,計算機仿真顯示仍需11個重構(gòu)濾波系數(shù)才能達到基于fft方法的圖像品質(zhì),顯然直接計算方法的復(fù)雜度依舊很高,結(jié)果仍然不理想,故仍不利于流水結(jié)構(gòu)的硬件實現(xiàn)。
立方卷積樣條插值算法是結(jié)合最小二乘法與立方卷積內(nèi)插核函數(shù)估算原始函數(shù)x(t)的,如式(1-1)所示:
其中,k是0至n-1的整數(shù),xk是采樣點數(shù)據(jù),即圖像數(shù)據(jù)壓縮后保留的數(shù)據(jù),r(t)是立方卷積內(nèi)插核函數(shù),s(t)是根據(jù)采樣點數(shù)據(jù)xk通過立方卷積插值函數(shù)對原始函數(shù)x(t)的估算。根據(jù)最小二乘法思想,上述三篇文獻中推導(dǎo)出如下等式:
其中,(j-k)n為(j-k)對n的模,
原先作為最優(yōu)方案的直接計算方法思想如下:設(shè)[x]t為矩陣x的轉(zhuǎn)置,則循環(huán)卷積公式(1-2)可以表達為如下的矩陣形式:
y=bx(1-3)
其中,y=[y0,y1,…yn-1]t,x=[x0,x1,…xn-1]t,b=[b0,b1,…bn-1]c是大小為n×n的循環(huán)矩陣,且在τ=2時,b0=420/256,b1=bn-1=63/256,b2=bn-2=-18/256,b3=bn-3=1/256,b4=0,b5=0,…,bn-4=0。根據(jù)矩陣思想,解方程式(1-3),可得:
x=b-1y=ay(1-4)
其中,a=b-1(a為b的逆矩陣),由于矩陣b為n×n的循環(huán)矩陣,根據(jù)矩陣的性質(zhì),易知矩陣a也是大小為n×n的循環(huán)矩陣:
a=[a0,a1,a2,a3,…,an-3,an-2,an-1]c
在壓縮比τ=2時,a0=0.64640,a1=-0.10937,a2=0.04667,a3=-0.01398,……,an-3=-0.01398,an-2=0.04667,且an-1=-0.10937??紤]到矩陣a是循環(huán)矩陣,式(1-4)計算采樣點數(shù)據(jù)xj可簡化為:
可以發(fā)現(xiàn),系數(shù)ai的取值(其中l(wèi)≤i≤n-l),隨著l取值的增大將逐漸趨向于零值,其中l(wèi)為一個固定的正整數(shù)。顯然為了降低計算復(fù)雜度,可以將這些系數(shù)近似看作零值,即將系數(shù)ai看作是有限長度為[-l,l]的數(shù)據(jù)。再由于信號x(t)是一個周期為nτ的周期函數(shù),同時y也是一個為n的周期函數(shù),即yk=y(tǒng)k+n。因此,式(1-5)可表示為:
根據(jù)上式,此時對應(yīng)一維情形,直接計算方法實現(xiàn)過程如下:首先將原始信號或圖像數(shù)據(jù)與立方卷積插值函數(shù)進行卷積得到系數(shù)yj,由于重構(gòu)濾波系數(shù)ai可以提前計算得到,并且對于任何原始信號或圖像其重構(gòu)濾波系數(shù)ai是相同的,最后只需取合適的有限長度為[-l,l]的濾波系數(shù)ai與之前的結(jié)果yj相乘,并將這2l+1個乘積累加得到采樣點數(shù)據(jù)xj,也即壓縮后的信號或圖像數(shù)據(jù)。上述三篇文獻表明,計算yj的每個數(shù)據(jù)需要2τ-1-(-2τ+1)+1=4τ-1個相關(guān)系數(shù),并且其中仍包含2個為0的系數(shù)。因此計算yj需要m1=(4τ-1-2)×n個乘法器以及s1=(4τ-1-2-1)×n個加法器,相應(yīng)的,這種直接計算方法得到xj總共需m1+(2l+1)×n個乘法器以及s1+2l×n個加法器。
對圖1所示的六幅灰度圖像,采取原先直接計算方法的立方卷積樣條插值算法進行計算機仿真,圖2和圖3的結(jié)果表明,l=5即基于11個重構(gòu)濾波系數(shù)時,直接計算的立方卷積樣條插值法恢復(fù)出圖像的主客觀品質(zhì)才能達到基于fft(快速傅里葉變換)恢復(fù)出的圖像主客觀品質(zhì)。在一維情形下計算循環(huán)卷積部分(式1-6)仍需11n個乘法器10n個加法器,在二維情形下計算循環(huán)卷積部分則需要22n1n2個乘法器及20n1n2個加法器,其中n1、n2表示圖像的大小。顯然現(xiàn)有csi算法基于11個重構(gòu)濾波系數(shù)ak(-5≤k≤5)直接計算方案的復(fù)雜度依舊很高,結(jié)果仍然不理想,故仍不利于大規(guī)模集成電路實現(xiàn)。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有基于11個重構(gòu)濾波系數(shù)直接計算帶來的較高復(fù)雜度的不足,本發(fā)明提供低復(fù)雜度直接計算的立方卷積樣條插值方法。
本發(fā)明包括以下步驟:
1)將擴展后的圖像與二維立方卷積插值(cci)函數(shù)循環(huán)計算得到系數(shù)
2)將重新計算得到的5個重構(gòu)濾波系數(shù)與已知的
3)將5個新的重構(gòu)濾波系數(shù)再次與已知的
在步驟1)中,所述將擴展后的圖像與二維立方卷積插值(cci)函數(shù)循環(huán)計算得到系數(shù)
在步驟2)中,將步驟1)計算得到的中間系數(shù)
在步驟3)中,將步驟2)計算得到的中間數(shù)據(jù)
由于本發(fā)明方法具有較低的運算量的優(yōu)點,其更適合tsung-chinglin所提出來的流水結(jié)構(gòu)去實現(xiàn)vlsi(verylargescaleintegration)電路。該流水結(jié)構(gòu)包括:延時單元d、循環(huán)移位單元si、加法器、乘法器、選通開關(guān)5部分。其工作過程如下:
1)在每個時鐘周期內(nèi),重構(gòu)濾波系數(shù)循環(huán)移位地進入5個cell內(nèi),并根據(jù)每個cell內(nèi)的延時單元d的個數(shù)延時相應(yīng)的時鐘周期。
2)每個時鐘周期內(nèi),將原始信號或圖像數(shù)據(jù)與立方卷積插值函數(shù)進行卷積得到的系數(shù)yj依次打入5個cell內(nèi)。
3)將相應(yīng)延時后的濾波系數(shù)ai與yj相乘后存儲,并與后一時鐘周期相應(yīng)的乘積累加。
4)當(dāng)檢測到ci為1時,輸出該cell的累加值,即采樣點數(shù)據(jù)xj,也即為壓縮后的數(shù)據(jù)。
本發(fā)明的計算機仿真顯示方法,僅需5個濾波系數(shù),也即將原先立方卷積樣條插值(csi)技術(shù)中計算循環(huán)卷積部分的運算復(fù)雜度降低了近55%(二維情形下),就能達到基于fft方法的圖像主客觀品質(zhì),從而極大地降低了計算復(fù)雜度和處理時延,也使其更有利于大規(guī)模集成電路實現(xiàn)。
附圖說明
圖1為六組標(biāo)準(zhǔn)灰度圖像。在圖1中,依次為(1)cameraman(256×256)、(2)girl(256×256)、(3)airplane(512×512)、(4)lena(512×512)、(5)boat(576×720)、(6)airport(1024×1024)。
圖2為一維情形下壓縮比為2︰1(τ=2)時基于原先直接計算的方法。在圖2中,隨著重構(gòu)濾波系數(shù)的變化相應(yīng)灰度圖像的峰值信噪比(psnr)。
圖3為二維情形下壓縮比為4︰1(τ=2)時基于原先直接計算的方法。在圖3中,隨著重構(gòu)濾波系數(shù)的變化相應(yīng)灰度圖像的峰值信噪比(psnr)。
圖4為基于低復(fù)雜度的立方卷積樣條插值技術(shù)的圖像壓縮方法流程圖。
圖5為二維情形下壓縮比為4︰1(τ=2)時,原始大小為512×512的lena圖像。在圖5中,經(jīng)壓縮至大小為256×256后的圖像。
圖6為tsung-chinglin所提出來的流水結(jié)構(gòu)原理圖。
具體實施方式
計算機仿真顯示新方法僅需5個濾波系數(shù),也即將原先立方卷積樣條插值(csi)技術(shù)中計算循環(huán)卷積部分的運算復(fù)雜度降低了近55%(二維情形下),就能達到基于fft方法的圖像主客觀品質(zhì),從而極大地降低了計算復(fù)雜度和處理時延,也使其更有利于大規(guī)模集成電路實現(xiàn)。
圖4示出了基于低復(fù)雜度的立方卷積樣條插值技術(shù)的圖像壓縮方法流程圖,包括:
步驟1,將擴展后的圖像與二維立方卷積插值(cci)函數(shù)循環(huán)計算得到系數(shù)
步驟2,將重新計算得到的5個重構(gòu)濾波系數(shù)與已知的
步驟3,最后將5個新的重構(gòu)濾波系數(shù)再次與已知的
對于一幅標(biāo)準(zhǔn)的灰度圖像,如圖1中大小為512×512的lena圖,采用本發(fā)明過程如下:
步驟1,將其擴展至大小為517×517的圖像,也即在原始圖像上方補3行像素、下方補2行像素、左邊補3列像素、右邊補2列像素(都是通過簡單的鏡像對稱補值)。將擴展后的圖像的灰度值與二維立方卷積插值(cci)函數(shù)卷積得到大小為256×256的中間系數(shù)
步驟2,將上一步計算得到的中間系數(shù)
步驟3,將上步驟計算得到的
由于本發(fā)明方法具有較低的運算量的優(yōu)點,其更適合tsung-chinglin所提出來的流水結(jié)構(gòu)(參見圖6)去實現(xiàn)vlsi(verylargescaleintegration)電路。該流水結(jié)構(gòu)包括:延時單元d、循環(huán)移位單元si、加法器、乘法器、選通開關(guān)5部分。其工作過程如下:
1、在每個時鐘周期內(nèi),重構(gòu)濾波系數(shù)循環(huán)移位地進入5個cell內(nèi),并根據(jù)每個cell內(nèi)的延時單元d的個數(shù)延時相應(yīng)的時鐘周期。
2、每個時鐘周期內(nèi),將原始信號或圖像數(shù)據(jù)與立方卷積插值函數(shù)進行卷積得到的系數(shù)yj依次打入5個cell內(nèi)。
3、將相應(yīng)延時后的濾波系數(shù)ai與yj相乘后存儲,并與后一時鐘周期相應(yīng)的乘積累加。
4、當(dāng)檢測到ci為1時,輸出該cell的累加值,即采樣點數(shù)據(jù)xj,也即為壓縮后的數(shù)據(jù)。
對于直接計算方法,對其重構(gòu)濾波系數(shù)作如下假設(shè):僅當(dāng)-2≤k≤2時ak的值才有效,|k|≥3時ak值假定為0。顯然,這會使計算循環(huán)卷積部分(式1-6)的計算復(fù)雜度極大下降,然而此時由于|k|≥3時濾波系數(shù)ak被忽略,恢復(fù)出的圖像主客觀品質(zhì)也大為下降。如果有一種方法可以把丟失的重構(gòu)濾波系數(shù)補償,那么恢復(fù)出的圖像性能就會提升。借鑒立方卷積插值函數(shù)(cci:cubicconvolutioninterpolation)的邊界條件擴展思想,可以通過ak(-5≤k≤5)重新計算重構(gòu)濾波系數(shù)
對于立方卷積插值函數(shù)(cci),當(dāng)邊界為x-1(超出x(t)函數(shù)給定范圍左邊一點)以及xn+1(超出x(t)函數(shù)給定范圍右邊一點)時,cci插值函數(shù)提供了一個對x(t)的三階近似:x-1=x2-3x1+3x0以及xn+1=xn-2-3xn-1+3xn。擴展這些邊界條件到xj-1或者xj+1,可以得到等式xj-1=3xj-3xj+1+xj+2以及xj+1=3xj-3xj-1+xj-2,同樣地,也可以得到:
yj-1=3yj-3yj+1+yj+2(1-7)
yj+1=3yj-3yj-1+yj-2(1-8)
根據(jù)以上的關(guān)系,壓縮數(shù)據(jù)xj(式1-6)可以用新的濾波系數(shù)
其中,
新的濾波系數(shù)
當(dāng)壓縮比τ=3時,可以得到:
通過上面等式可以看出計算n個壓縮數(shù)據(jù)xj只需5個重構(gòu)濾波系數(shù),因此在一維情形下這種低復(fù)雜度直接計算方法在計算循環(huán)卷積部分時只需5n個乘法器以及4n個加法器。顯然,與原使用11個重構(gòu)濾波系數(shù)ak(-5≤k≤5)直接計算方法比較,本發(fā)明可以分別節(jié)省11n-5n=10n-4n=6n個乘法器和加法器??紤]到乘法運算比加法運算復(fù)雜得多,故忽略加法的運算量,即在一維情形下采用本發(fā)明方法可以節(jié)省約6n/11n≈54.55%算術(shù)運算量。如果把計算系數(shù)yj所需的乘法運算考慮進來,本發(fā)明與原直接計算方法所需的算術(shù)運算量的百分比為(m1+5n)/(m1+11n),其中m1為計算yj所需的乘法運算量。特別的,在一維情形下壓縮比τ=2時m1=5n,此時新的低復(fù)雜度直接計算方法所需的運算量僅為原先采取11點直接計算方法的10n/16n≈63%。
表1
表1給出一維情形下壓縮比為2︰1(τ=2)時csi技術(shù)基于不同實現(xiàn)方法下算術(shù)運算量的統(tǒng)計,方案一使用fft計算循環(huán)卷積部分,方案二使用11個重構(gòu)濾波系數(shù)ak(-5≤k≤5)計算循環(huán)卷積部分,方案三使用本發(fā)明計算循環(huán)卷積部分。后面圖表提到方案一、方案二、方案三與上相同,不再另做說明。
由于立方卷積樣條插值函數(shù)(csi)具有二維可分離的特點,故對二維信號或圖像數(shù)據(jù)處理時,可在實現(xiàn)時分解為兩步進行操作,即將二維運算分離為便于計算的一維運算。同樣的,基于csi技術(shù)使用二維低復(fù)雜度直接計算方法可以推導(dǎo)以下公式:
其中,
表2
表2給出二維情形下壓縮比為4︰1(τ=2)時csi技術(shù)基于不同方法下算術(shù)運算量的統(tǒng)計,其中n1×n2表示圖像的大小。
本發(fā)明將立方卷積樣條插值(csi)技術(shù)中計算循環(huán)卷積部分所需的濾波系數(shù)從11個降低到5個,從表3和表4不同方案的峰值信噪比(psnr)的對比結(jié)果來看,本發(fā)明仍舊保持了恢復(fù)圖像良好的主客觀品質(zhì)。采用本發(fā)明計算循環(huán)卷積部分所需的運算量比原先使用11個重構(gòu)濾波系數(shù)ak(-5≤k≤5)帶來的運算量少近55%,極大地降低了硬件實現(xiàn)難度、時延以及資源的消耗,非常適用于tsungchinglin所提出來的流水結(jié)構(gòu)去實現(xiàn)vlsi(verylargescaleintegration)電路。
表3
表4
表3為一維情形下壓縮比為τ︰1時csi技術(shù)基于不同方法下相應(yīng)灰度圖像的峰值信噪比(psnr);表4為二維情形下壓縮比為τ2︰1時csi技術(shù)基于不同方法下相應(yīng)灰度圖像的峰值信噪比(psnr)。