欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種高效的圖像壓縮算法的制作方法

文檔序號:11518153閱讀:477來源:國知局

本發(fā)明涉及一種高效的圖像壓縮算法,具體地說,涉及一種相對低復(fù)雜度的高壓縮率的圖像壓縮算法。



背景技術(shù):

圖像壓縮算法有著廣泛的社會應(yīng)用價值。目前的圖像壓縮算法主要兩類:基于離散傅里葉變化的壓縮算法(如jpeg),基于離散小波變化的壓縮算法(如spihtwaac,jpeg2000)?;陔x散傅里葉變化的壓縮算法復(fù)雜度低,壓縮速率快,但壓縮效率低。而基于離散小波變換的壓縮算法壓縮效率高,但復(fù)雜度高。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的缺陷,提供一種高效的圖像壓縮算法,該算法壓縮速度與spiht算法相當(dāng),但在同樣的壓縮比下的圖像質(zhì)量(psnr)比spiht高0.2到0.4db。該算法在相對低的復(fù)雜度的情況下,具有與spihtwaac算法和jpeg2000算法相當(dāng)?shù)膱D像壓縮效率。

其具體技術(shù)方案為:

一種高效的圖像壓縮算法,包括以下步驟:

輸入:圖像;

輸出:壓縮比特流。

步驟一、對圖像進行小波變化,生成金字塔結(jié)構(gòu)的小波系數(shù)集合;

步驟二、對小波變化后的圖像進行比特層級編碼。

進一步,步驟二具體為:

首先聲明一些定義:

lsp:重要小波系數(shù)列表;

lip:次要小波系數(shù)列表;

lis:次要集合列表;

d(i,j)集合:節(jié)點(i,j)的后裔;

l(i,j)集合:除第一代后裔以外的節(jié)點(i,j)其他后裔;

1.初始化:輸出n=log2(max(i,j)|ci,j|);設(shè)置lsp為空列表,將處于金字塔最高級的節(jié)點添加到lip,將有后裔的節(jié)點的d集合放到lis中。

2.分類處理;

3.細化處理:對于每一個在lsp中的表項(除了那些在上一次的分類處理過的表項),輸出他們的第n位的值。

4.n=n-1,然后返回第2步。

再進一步,步驟2具體為:

2.1for對于在lip中的每一個節(jié)點ci,j做:

if|ci,j|>=2n,將ci,j添加到lsp中,然后輸出1和ci,j的符號位。

else輸出0

endif

endfor

2.2for每一個在lis的集合si,j做:

ifsi,j是d集合則

ifsi,j中有重要值,

then輸出1并用d類集合編碼方案對其四個第一代后裔進行編碼。

if沒有重要的第一代后裔,則將si,j為1類型l集合,并將其添加在lis集合列表中。

elsesi,j為2類型l集合,也將其添加在lis集合列表中。

endif

else輸出0

endif

ifsi,j是1類型l集合則

用一類l集合編碼方案對其四個分支存在重要值的情況進行編碼。并對將哪些沒有重要值的分支作為新的d集合移到lis集合列表中。

對于那些有重要值的分支;

用d類集合編碼方案對其進行編碼,

if沒有重要的第一代后裔,則該分支為1類型l集合,并將其添加在lis集合列表中。

else該分支為2類型l集合,也將其添加在lis集合列表中。

endif

ifsi,j是2類型l集合則

用2類l集合編碼方案對其四個分支存在重要值的情況進行編碼。

ifsi,j沒有重要的值,則將該2類型l集合si,j添加到lis集合列表的最前面。

elsethen

將那些沒有重要值的分支作為d集合添加到lis集合列表的最前面。

對于那些有重要值的分支,用d類集合編碼方案對其進行編碼。

if該分支的第一代后裔沒有重要值,則將該分支以1類型l集合的身份將其添加到lis列表的最后。

else將該分支以2類型l集合的身份將其添加到lis列表的最后。

endif

endif

endif

endfor。

與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:

本發(fā)明的算法壓縮速度與spiht算法相當(dāng),但在同樣的壓縮比下的圖像質(zhì)量(psnr)比spiht高0.2到0.4db。該算法在相對低的復(fù)雜度的情況下,具有與spihtwaac算法和jpeg2000算法相當(dāng)?shù)膱D像壓縮效率。本發(fā)明具有相對低復(fù)雜度的高壓縮率的特點,適合推廣應(yīng)用。

具體實施方式

下面結(jié)合具體實施方案對本發(fā)明的技術(shù)方案作進一步詳細地說明。

一種高效的圖像壓縮算法,包括以下步驟:

輸入:圖像;

輸出:壓縮比特流。

步驟一、對圖像進行小波變化,生成金字塔結(jié)構(gòu)的小波系數(shù)集合;

步驟二、對小波變化后的圖像進行比特層級編碼。

進一步,步驟二具體為:

首先聲明一些定義:

lsp:重要小波系數(shù)列表;

lip:次要小波系數(shù)列表;

lis:次要集合列表;

d(i,j)集合:節(jié)點(i,j)的后裔;

l(i,j)集合:除第一代后裔以外的節(jié)點(i,j)其他后裔;

1.初始化:輸出n=log2(max(i,j)|ci,j|);設(shè)置lsp為空列表,將處于金字塔最高級的節(jié)點添加到lip,將有后裔的節(jié)點的d集合放到lis中。

2.分類處理

2.1for對于在lip中的每一個節(jié)點ci,j做:

if|ci,j|>=2n,將ci,j添加到lsp中,然后輸出1和ci,j的符號位。

else輸出0

endif

endfor

2.2for每一個在lis的集合si,j做:

ifsi,j是d集合則

ifsi,j中有重要值,

then輸出1并用表1(d)對其四個第一代后裔進行編碼

if沒有重要的第一代后裔,則將si,j為1類型l集合,并將其添加在lis集合列表中。

elsesi,j為2類型l集合,也將其添加在lis集合列表中。

endif

else輸出0

endif

ifsi,j是1類型l集合則

用表2的1類碼字對其四個分支存在重要值的情況進行編碼。并對將哪些沒有重要值的分支作為新的d集合移到lis集合列表中。

對于那些有重要值的分支;

用表1的碼字對其進行編碼,

if沒有重要的第一代后裔,則該分支為1類型l集合,并將其添加在lis集合列表中。

else該分支為2類型l集合,也將其添加在lis集合列表中。

endif

ifsi,j是2類型l集合則

用表2的2類碼字對其四個分支存在重要值的情況進行編碼。

ifsi,j沒有重要的值,則將該2類型l集合si,j添加到lis集合列表的最前面。

elsethen

將那些沒有重要值的分支作為d集合添加到lis集合列表的最前面。

對于那些有重要值的分支,用表1的碼字對其進行編碼。

if該分支的第一代后裔沒有重要值,則將該分支以1類型l集合的身份將其添加到lis列表的最后。

else將該分支以2類型l集合的身份將其添加到lis列表的最后。

endif

endif

endif

endfor。

3.細化處理:對于每一個在lsp中的表項(除了那些在上一次的分類處理過的表項),輸出他們的第n位的值。

4.n=n-1,然后返回第2步。

d集合編碼方案:

用‘0’,‘1’表示是否為重要后代,如果四個后裔是0000,則編碼為000;如果四個后裔是0001時,編碼為001;如果四個后裔是0010時,編碼為010;如果四個后裔是0100時,編碼為011;如果四個后裔是1000時,編碼為100;如果四個后裔是0011時,編碼為1010;如果四個后裔是0110時,編碼為1011;如果四個后裔是0101時,編碼為1100;如果四個后裔是1001時,編碼為1101;如果四個后裔是1010時,編碼為11100;如果四個后裔是1100時,編碼為11101,如果四個后裔是1110時,編碼為111100;如果四個后裔是1101時,編碼為111101;如果四個后裔是1011時,編碼為111110;如果四個后裔是0111時,編碼為1111110;如果四個后裔是1111時,編碼為1111111。

1類l集合編碼方案:

用‘0’和‘1’表示四個分支是否有重要后裔,如果四個分支是0001,編碼為11;如果四個分支為0010,編碼為10;如果四個分支為0100,編碼為011;如果四個分支為1000,編碼為010;如果四個分支為0011,編碼為00111;如果四個分支為0110,編碼為00110;如果四個分支為0101,編碼為00100;如果四個分支為1001,編碼為00100;如果四個分支為1010,編碼為00010;如果四個分支為1100,編碼為00011;如果四個分支為1110,編碼為000011;如果四個分支為1101,編碼為000010;如果四個分支為1011,編碼為000001;如果四個分支為0111,編碼為0000001;如果四個分支為1111,編碼為0000000。

2類l集合編碼方案:

用‘0’和‘1’表示四個分支是否有重要后裔,如果四個分支是0000,編碼為0;如果四個分支是0001,編碼為1000;如果四個分支為0010,編碼為1001;如果四個分支為0100,編碼為1011;如果四個分支為1000,編碼為1010;如果四個分支為0011,編碼為11000;如果四個分支為0110,編碼為11001;如果四個分支為0101,編碼為11010;如果四個分支為1001,編碼為11011;如果四個分支為1010,編碼為11101;如果四個分支為1100,編碼為111000;如果四個分支為1110,編碼為111001;如果四個分支為1101,編碼為111100;如果四個分支為1011,編碼為111101;如果四個分支為0111,編碼為111110;如果四個分支為1111,編碼為111111。

表1所提算法和spiht算法的圖像壓縮質(zhì)量psnr的比較

表2圖像lena512x512的運行時間的比較

我們對所提算法進行測試,測試所選用的圖像來自學(xué)術(shù)界的經(jīng)典圖像數(shù)據(jù)庫:南加州大學(xué)信號圖像處理中心圖像庫(usc-sipiimagedatabase)(http://sipi.usc.edu/database/)和倫斯勒理工學(xué)院圖像處理研究中心靜態(tài)圖像庫(ciprstillimageslibrary)(http://www.cipr.rpi.edu/resource/stills/index.html)。

可以從表1中看到,所提出的圖像壓縮算法在不同的壓縮比的情況下的壓縮質(zhì)量(psnr)優(yōu)于spiht0.2db到0.4db.由表2,可以看到所提的圖像壓縮算法的速度與spiht算法的速度相當(dāng)。

以上所述,僅為本發(fā)明較佳的具體實施方式,本發(fā)明的保護范圍不限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡單變化或等效替換均落入本發(fā)明的保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
莱阳市| 旌德县| 玉屏| 鸡西市| 凤山县| 惠州市| 衡山县| 白银市| 仁化县| 遂川县| 资阳市| 章丘市| 玉山县| 长垣县| 南召县| 房产| 望城县| 成武县| 浏阳市| 合阳县| 高尔夫| 呼图壁县| 文成县| 隆德县| 九龙城区| 河北区| 松潘县| 周至县| 浠水县| 余姚市| 崇州市| 吉林市| 夏河县| 延津县| 新田县| 丘北县| 天峻县| 隆子县| 甘德县| 曲阳县| 邮箱|