專利名稱:一種基于空間域預(yù)測編碼的圖像壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于空間域預(yù)測編碼的圖像壓縮方法。
背景技術(shù):
如何利用圖像的已有信息降低圖像的信息量從而提高壓縮比是圖像壓縮中的一 個難點(diǎn),由于圖像是靜態(tài)的,消除圖像的冗余只能從圖像的本身出發(fā),視頻序列可以從時域 消除冗余,目前經(jīng)典的圖像壓縮方法都是用變換編碼的方法提高平滑圖像在頻域的衰減速 度,如JPEG壓縮中的DCT變換,JPEG2000的小波變換等,這些方法都沒有利用圖像空間域 的特性來降低圖像的信息熵,其中JEPG2000的小波變換局域時空二重分析的性質(zhì),較JPEG 有明顯的提高。連續(xù)平滑的圖像在空間域具有較好的相關(guān)性,利用這一性質(zhì)對空間數(shù)據(jù)進(jìn)行預(yù) 測,對預(yù)測誤差進(jìn)行編碼可以較好的壓縮圖像。在結(jié)構(gòu)性較強(qiáng)、穩(wěn)定性好的圖像中空間域的 預(yù)測具有理想的壓縮效果(例如壓縮一個平滑預(yù)測塊只需要4bit左右的信息來表示該塊, 以塊大小16X16來計(jì)算,壓縮比可以達(dá)到512),而對于隨機(jī)性較強(qiáng),紋理多的區(qū)域,空間域 的編碼則顯得無能為力。如何利用紋理圖像的特性進(jìn)一步提高圖像的壓縮比是圖像壓縮性 能提高的必然之路。經(jīng)典的空間預(yù)測模式在視頻壓縮標(biāo)準(zhǔn)H. 264的I幀的壓縮中取得了理想的效果, 它將圖像分成16X16的宏塊,對于每一個還可以細(xì)分為8X8或者4X4的大小,這種分法 可以大大提高了分塊的粒度,可以充分利用各種分塊的相關(guān)信息。對于每一個分塊在空間 域可以通過DC預(yù)測、自上而下、自左到右、斜對角等9個方向上做簡單的線性預(yù)測。這種算 法對于變化比較連續(xù)和平坦的區(qū)域可以取得比較理想的效果。但是對于突變和周期性的數(shù) 據(jù)效果不好,圖1、圖2是他們對于這兩種信號的預(yù)測效果圖。從上面的實(shí)驗(yàn)結(jié)果來看,對于紋理圖像的預(yù)測效果不理想,需要有較好的紋理圖 像的預(yù)測模式才行。H. 264標(biāo)準(zhǔn)是用來壓縮視頻序列的,并沒有專門用來處理靜態(tài)的圖像。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于空間域預(yù)測編碼的圖像壓縮方法,可以解決沒有專 門用來處理靜態(tài)的圖像的壓縮方法的問題。本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)提出一種基于空間域預(yù)測編碼的圖像壓縮方法,包括如下步驟輸入靜態(tài)圖像并 劃分16x16大小的編碼宏塊;按照多種分塊模式分塊并進(jìn)行空間域預(yù)測,采用包括紋理合 成在內(nèi)的預(yù)測方法消除圖像在空間域的冗余信息;采用包括紋理合成模式的多種預(yù)測模式 對所述編碼宏塊進(jìn)行預(yù)測,以獲取預(yù)測圖像、殘差圖像;比較得到所述分塊模式下殘差圖像 最小的預(yù)測模式;通過率失真函數(shù)確定最佳分塊模式,采用該最佳分塊模式下殘差圖像最 小的預(yù)測模式和殘差圖像進(jìn)行編碼,作為該編碼宏塊的碼流;獲取余下編碼宏塊的碼流。按照多種分塊模式分塊并進(jìn)行空間域預(yù)測,采用包括紋理合成在內(nèi)的預(yù)測方法消除圖像在空間域的冗余信息,還包括編碼所述編碼塊以獲取所有所述編碼塊的空間域預(yù) 測模式以及分塊方式。有益效果利用多種預(yù)測組合模式來處理靜態(tài)的圖像,提高空間域的預(yù)測效果,提 高壓縮效率。通過為靜態(tài)圖像選擇最佳的分塊方式以及最佳的預(yù)測模式,從而最大限度的 減少圖像在空間域的冗余信息以提高圖像壓縮的壓縮比。
下面根據(jù)附圖和實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。圖1為現(xiàn)有技術(shù)中進(jìn)行圖像壓縮的效果圖之一;圖2為現(xiàn)有技術(shù)中進(jìn)行圖像壓縮的效果圖之二 ;圖3為本發(fā)明使用紋理合成預(yù)測模式進(jìn)行預(yù)測的效果圖;圖4為本發(fā)明一種基于空間域預(yù)測編碼的圖像壓縮方法的流程圖;圖5為本發(fā)明另一場景一種基于空間域預(yù)測編碼的圖像壓縮方法的流程圖。
具體實(shí)施例方式本發(fā)明提出一種基于空間域預(yù)測編碼的圖像壓縮方法,基本思想在于通過為靜 態(tài)圖像選擇最佳的分塊方式以及最佳的預(yù)測模式,從而最大限度的減少圖像在空間域的冗 余信息以提高圖像壓縮的壓縮比。實(shí)施例1一種基于空間域預(yù)測編碼的圖像壓縮方法,包括如下步驟S11、輸入靜態(tài)圖像并劃分16x16大小的編碼宏塊;S12、按照多種分塊模式分塊并進(jìn)行空間域預(yù)測,采用包括紋理合成在內(nèi)的預(yù)測方 法消除圖像在空間域的冗余信息;S13、采用包括紋理合成模式的多種預(yù)測模式對編碼宏塊進(jìn)行預(yù)測,以獲取預(yù)測圖 像、殘差圖像;S14、比較得到分塊模式下殘差圖像最小的預(yù)測模式;S15、通過率失真函數(shù)確定最佳分塊模式,采用該最佳分塊模式下殘差圖像最小的 預(yù)測模式和殘差圖像進(jìn)行編碼,作為該編碼宏塊的碼流;S15、獲取余下編碼宏塊的碼流。實(shí)施例2一種基于空間域預(yù)測編碼的圖像壓縮方法,包括S21、輸入靜態(tài)圖像,并將該靜態(tài)圖像劃分成16x16大小的編碼宏塊。S22、選擇其中一個編碼宏塊,采用不同分塊方式對該編碼宏塊進(jìn)行分塊。S221、將編碼宏塊分成4個8X8的編碼塊,采用十種預(yù)測模式逐個獲取該預(yù)測模 式下的原圖像、預(yù)測圖像以及殘差圖像。其中,十種預(yù)測模式包括九個線性預(yù)測模式以及一個紋理合成預(yù)測模式,九個線 性預(yù)測模式包括水平預(yù)測、垂直預(yù)測和左下預(yù)測等8個方向預(yù)測模式和均值預(yù)測(DC預(yù) 測),其中,紋理合成預(yù)測模式具體為,將待預(yù)測編碼塊分成若干個2x2的小塊,取每個2x2
4小塊左上方的60個像素為模板,給定一個搜索范圍(通常取為8到12之間),采用塊匹配 的方法在已解碼的圖像中尋找與當(dāng)前模板距最小的3或5個8x8大小的圖像塊作為候選 塊。對候選塊中右下角2x2的像素值進(jìn)行加權(quán)平均后,認(rèn)為是對當(dāng)前待預(yù)測的2x2小塊中 像素值的預(yù)測值。S2211、對每一個編碼塊進(jìn)行編碼,獲取每一個編碼塊的像素值,并通過編碼塊的 像素值得到編碼塊的原圖像,計(jì)算編碼宏塊的原圖像。S2212、采集第一個編碼塊的像素值,采用十種預(yù)測模式中的一種預(yù)測模式預(yù)測第 二個編碼塊的像素值,并根據(jù)預(yù)測得到的第二個編碼塊的像素值獲取第二個編碼塊的預(yù)測 圖像。S2213、得到該編碼宏塊整體的預(yù)測圖像,根據(jù)該編碼宏塊整體的預(yù)測圖像和該編 碼宏塊整體的原圖像計(jì)算該編碼宏塊整體的殘差圖像。S2214、分別采用十種預(yù)測模式獲取該編碼宏塊的十組預(yù)測圖像和殘差圖像以及 預(yù)測模式。S2215、保存其中殘差圖像最小的一組預(yù)測圖像和殘差圖像以及預(yù)測模式。S222、將編碼宏塊分成8個4X4編碼塊,采用十種預(yù)測模式逐個獲取該預(yù)測模式 下的原圖像、預(yù)測圖像以及殘差圖像。其中,十種預(yù)測模式包括九個線性預(yù)測模式以及一個紋理合成預(yù)測模式,九個線 性預(yù)測模式包括水平預(yù)測、垂直預(yù)測和左下預(yù)測等8個方向預(yù)測模式和均值預(yù)測(DC預(yù) 測),其中,紋理合成預(yù)測模式具體為,將待預(yù)測編碼塊分成若干個2x2的小塊,取每個2x2 小塊左上方的60個像素為模板,給定一個搜索范圍(通常取為8到12之間),采用塊匹配 的方法在已解碼的圖像中尋找與當(dāng)前模板距最小的3或5個8x8大小的圖像塊作為候選 塊。對候選塊中右下角2x2的像素值進(jìn)行加權(quán)平均后,認(rèn)為是對當(dāng)前待預(yù)測的2x2小塊中 像素值的預(yù)測值。S2221、對每一個編碼塊進(jìn)行編碼,獲取每一個編碼塊的像素值,并通過編碼塊的 像素值得到編碼塊的原圖像,計(jì)算編碼宏塊的原圖像。S2222、采集第一個編碼塊的像素值,采用十種預(yù)測模式中的一種預(yù)測模式預(yù)測第 二個編碼塊的像素值,并根據(jù)預(yù)測得到的第二個編碼塊的像素值獲取第二個編碼塊的預(yù)測 圖像。S2223、得到該編碼宏塊整體的預(yù)測圖像,根據(jù)該編碼宏塊整體的預(yù)測圖像和該編 碼宏塊整體的原圖像計(jì)算該編碼宏塊整體的殘差圖像。S2224、分別采用十種預(yù)測模式獲取該編碼宏塊的十組預(yù)測圖像和殘差圖像以及 預(yù)測模式。S2225、保存其中殘差圖像最小的一組預(yù)測圖像和殘差圖像以及預(yù)測模式。S23、通過率失真函數(shù)得到最佳分塊方式,并保存該分塊方式下殘差圖像最小的一 組預(yù)測圖像、殘差圖像以及預(yù)測模式。殘差圖像減去量化處理后的殘差圖像得到失真,編碼量化后的殘差圖像得到碼 率,碼率與失真成反比,碼率越大失真越小,碼率越小失真越大,通過率失真函數(shù)確定在多 少碼率下多大失真,效果較好,從而選擇最佳分塊方式,并保存最佳分塊方式下的一組預(yù)測 圖像、殘差圖像以及預(yù)測模式。
S24、對上述殘差圖像和預(yù)測模式進(jìn)行編碼,得到該編碼宏塊最終的碼流。具體為通過DCT變換獲得DCT變換系數(shù),對DCT變換系數(shù)進(jìn)行自適應(yīng)量化得到量 化后的DCT變換系數(shù),采用熵編碼器對量化后的DCT變換系數(shù)進(jìn)行算術(shù)編碼得到碼流,并將 該碼流與采用熵編碼器對預(yù)測模式進(jìn)行編碼得到的碼流合并,生成最終的二進(jìn)制碼流輸出 作為該編碼宏塊最終的碼流。另一方面,進(jìn)行逆DCT變換,將逆變換后的殘差圖像與原始的預(yù)測圖像相加作為 已編碼的圖像,用于對下一個編碼宏塊中像素值的預(yù)測。S25、選擇其他的編碼宏塊進(jìn)行編碼,直至編碼所有的編碼宏塊,得到整個圖像最 終的碼流。本發(fā)明并不局限于此實(shí)施方式,以本發(fā)明思想為基礎(chǔ)的相關(guān)實(shí)現(xiàn)總成均在本發(fā)明 的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于空間域預(yù)測編碼的圖像壓縮方法,其特征在于,包括如下步驟 輸入靜態(tài)圖像并劃分16x16大小的編碼宏塊;按照多種分塊模式分塊并進(jìn)行空間域預(yù)測,采用包括紋理合成在內(nèi)的預(yù)測方法消除圖 像在空間域的冗余信息;采用包括紋理合成模式的多種預(yù)測模式對所述編碼宏塊進(jìn)行預(yù)測,以獲取預(yù)測圖像、 殘差圖像;比較得到所述分塊模式下殘差圖像最小的預(yù)測模式;通過率失真函數(shù)確定最佳分塊模式,采用該最佳分塊模式下殘差圖像最小的預(yù)測模式 和殘差圖像進(jìn)行編碼,作為該編碼宏塊的碼流; 獲取余下編碼宏塊的碼流。
2.如權(quán)利要求1所述的方法,其特征在于,按照多種分塊模式分塊并進(jìn)行空間域預(yù)測, 采用包括紋理合成在內(nèi)的預(yù)測方法消除圖像在空間域的冗余信息,還包括編碼所述編碼塊以獲取所有所述編碼塊的空間域預(yù)測模式以及分塊方式。
全文摘要
本發(fā)明提出一種基于空間域預(yù)測編碼的圖像壓縮方法,包括如下步驟輸入靜態(tài)圖像并劃分16x16大小的編碼宏塊;按照多種分塊模式分塊并進(jìn)行空間域預(yù)測,采用包括紋理合成在內(nèi)的預(yù)測方法消除圖像在空間域的冗余信息;采用包括紋理合成模式的多種預(yù)測模式對所述編碼宏塊進(jìn)行預(yù)測,以獲取預(yù)測圖像、殘差圖像;比較得到所述分塊模式下殘差圖像最小的預(yù)測模式;通過率失真函數(shù)確定最佳分塊模式,采用該最佳分塊模式下殘差圖像最小的預(yù)測模式和殘差圖像進(jìn)行編碼,作為該編碼宏塊的碼流;獲取余下編碼宏塊的碼流。本發(fā)明可最大限度的減少圖像在空間域的冗余信息以提高圖像壓縮的壓縮比。
文檔編號H04N7/26GK102065293SQ20101055509
公開日2011年5月18日 申請日期2010年11月23日 優(yōu)先權(quán)日2010年11月23日
發(fā)明者王芳 申請人:無錫港灣網(wǎng)絡(luò)科技有限公司