(1.山東農業大學 信息學院, 山東 泰安 271018;2.山東省泰安供電公司,山東 泰安 271000)
摘 要:為了能夠較好地去除彩色圖像色彩分量的相關性, 并能獲得較好的恢復圖像, 基于圖像色彩信息, 提出了一種基于RGB空間的彩色圖像壓縮編碼算法, 高效地去除了彩色圖像各分量間的相關性。算法對其中一個分量進行完整DCT變換,對其他兩個分量只求少數幾個非零系數。采用查表法來進行DCT變換,使查表法的優越性得到更好的體現。通過對新色彩空間編碼性能進行的實驗分析結果表明, 該方法較好地去除了彩色圖像色彩分量的相關性, 且算法實現簡單, 具有較好的信噪比, 不僅恢復圖像視覺效果良好, 并且易于與其他的壓縮、編碼方法結合使用。
關鍵詞:色彩分量相關性;離散余弦變換;查表法;圖像編碼;峰值信噪比
中圖分類號:TN919; TP39141 文獻標志碼:A
文章編號:10013695(2009)01039503
New approach of color images coder in RGB color spaces
WANG Wenning1,SHI Lei2,LI Huijuan1
(1.School of Information Science Engineering, Shandong Agricultural University, Taian Shandong 271018, China;2.Power Supply Company of Shandong Taian, Taian Shandong 271000, China)
Abstract:In order to dispel the correlation between color components of color images more efficiently and get better color images compression results,this paper presented an algorithm for the color image coding in the RGB color spaces.In RGB color space,coded one of the three color components of a color image using DCT coding, the other two components only asked the minority several effective coefficients. The method of searching tables took place of general DCT method. Many experiments were carried out to analyze the encoding performance in the new color space. The results show that the new approach can get rid of the correlation between color components of color images efficiently and is easily implemented. It also boasts of better signal to noise ratio. The reconstructed image is visual comfort and the coder is easily combined with other compression and encoding methods.
Key words:correlation between color components; DCT; method of searching tables; image encoding; peak signal to noise ratio
多媒體技術是一個日益擴大的全新領域,多媒體數據中,圖像信息量比較豐富,有利于人們的接受,但圖像所占的數據量大,壓縮、存儲和傳輸均是現代信息領域要解決的重要問題。采用快速且有效的編碼方法可以節省大量的資源。在已有彩色圖像編碼的研究文獻[1~6]中, 幾乎均是采用將RGB色彩空間轉換成YUV、YIQ或YCbCr色彩空間,然后對三個色彩分量進行單獨編碼, 并沒有去深入挖掘RGB色彩空間三個色彩分量之間存在的更深層的關系。文獻[7]提出了基于三維離散余弦變換的彩色圖像編碼算法,有效地利用三基色之間的相關性,但設計三維矩陣運算,耗時多。文獻[8]提出了基于色差分析的彩色圖像編碼算法。
在彩色圖像處理中,將RGB色彩空間轉換成YUV、YIQ或YCbCr色彩空間,這樣做雖然降低了相關性,但圖像仍然輪廓清晰,三個分量圖像呈現相同的結構,而且RGB轉換為YUV每一個像素需要經過3×3矩陣運算,解碼時還要反變換回RGB空間。通過實驗發現, RGB三個分量的相似度很高,它們的紋理、邊緣、灰度變化均具有非常好的相似性,頻域變換系數也存在極好的相關性,如圖1所示。
本文深入分析了RGB色彩分量之間的相關性,提出了一種基于RGB空間彩色圖像壓縮編碼方法。本文算法依據三基色分量頻域變換系數有很好的相關性這一特點,只對其中一個分量進行完整DCT,其他兩個分量只求少數幾個非零系數。本文采用查表法[9~13]來進行DCT變換,使得查表法的優越性更好體現。比較以往的算法,本算法的運算量更小。
1 RGB空間的壓縮編碼
11 基于DCT的編碼算法
由于DCT是最接近于統計最優變換KL變換的正交變換,且具有良好的去相關特性和能量集中特性,被廣泛應用于圖像的壓縮編碼算法中已有的各種成熟的壓縮標準JPEG、MPEG、H26X以及HDTV等均無一例外地采用基于DCT的壓縮編碼。
在基本編碼系統中,首先將圖像分為8×8的像素塊,然后再進行基于DCT的編碼。算法分為三個基本步驟:a)離散余弦變換(DCT);b)運用人眼視覺系統最佳加權函數量化DCT系數;c)對量化系數進行熵編碼。解碼過程中,離散余弦逆變換是DCT的逆過程。
基于DCT的編碼方法是編碼算法的核心內容。而且使用軟件編程過程表明,DCT是JPEG編碼過程中最耗時的環節。在純軟件壓縮情況下,DCT耗時一般約占整個編碼時間的2/3以上。
基本壓縮算法的編、解碼過程分別如圖2(a)(b)所示。
12 查表法實現 DCT的理論分析
二維正向DCT 的定義如下:
f(x,y)=2/MNM-1u=0N-1v=0C(u)C(v)F(u,v)
cos((2x+1)uπ/(2M)) cos((2y+1)vπ/(2N)) (1)
F(u,v)=2/MNM-1x=0N-1y=0f(x,y)C(u)C(v)
cos((2x+1)uπ/(2M)) cos((2y+1)vπ/(2N)) (2)
其中:C(u),C(v)=1/2,當u, v =0;C(u), C(v) = 1,其他。 x, u=0,1,2,…, M-1; y,v=0,1,2,…,N-1。
無論是直接進行DCT還是采用行、列分離的算法均有其利弊。其優點是:結構直觀;可直接利用一維DCT快速算法程序和硬件結構實現;運算量為M×N點和N×M點的兩次一維DCT。其缺點是:需要大量重復的乘法和加法運算;需要存儲一些額外的中間信息。
本文用查表方式[10~12]實現DCT,這樣將一些固定的乘除運算結果放在表中,每次需要用到時直接查詢出進行運算;上式是對8×8 的子圖像塊定義的,F(u,v)為變換后數據,8×8 的子圖像塊經DCT 變換后變為8×8 的DCT 系數塊。每個DCT 系數由64項的和構成,每一項又分為三部分:第一部分的f(x,y)為原圖像數據,由于約定圖像數據均為8 位,所以0≤f(x,y)≤255;第二部分為1/4或1/8(u,v均為0時);第三部分為兩項余弦值的乘積。只需要建立一個8×8×64×256=1 048 576個數值的表,就可以將所有的DCT系數可能值覆蓋。但考慮到余弦函數的性質,可以將此表簡化為71×256=18 176個值。
由于該方法是將系數與圖像所有可能值事先乘好放入表中,只要在運行時調入內存,再進行尋址取數相加即可,幾乎不進行乘法運算,與常規算法相比,速度得到較大提高。實際測試表明,查表法計算DCT所需時間是常規算法的48%左右,并且查表法[10]時間與變換對象個數成正比。
13 RGB三基色分量編碼算法
文獻[14]在圖像及視頻變換壓縮應用中,統計數據顯示,一般8×8子塊的DCT 系數約有10%的數據為非零值(典型為7~16個),但所使用的算法乘法比較多,運算量很大,且保留的系數僅僅根據經驗值,無法靈活改變,有的圖像塊會損失有用信息,有的圖像塊則保留了一些冗余系數(圖3)。本文的算法依據RGB三顏色分量頻域的相似性,依據G顏色分量的有效系數,靈活確定RB顏色分量的有效系數。
首先將頻域劃分為兩部分,量化后系數不為零的稱為有效系數,量化后為零的系數稱為無效系數。基于RGB三個顏色分量的相關性,將G分量進行完整DCT及其量化操作,得到有效系數,記錄下有效系數的位置。由于三個顏色分量從形狀紋理上極為相似,頻域變換后有效系數的分布也幾乎一樣(圖4),本文就理想化地認為它們的有效系數分布是相同的。這樣,已知有效系數的具體位置,對其他兩個分量(R、B分量),只計算其有效系數。本算法通過查表法實現,既減少了變換過程的運算量,也省去了無效系數的量化運算,是一種一舉兩得的方法。
131 查表法實現G分量的DCT編碼
彩色視覺研究[15]的結果表明人眼對組成彩色信號的各個色彩分量的變化的感知程度是不一樣的, 即使在RGB 色彩空間, 人眼對不同色彩的感覺敏感程度也是不一樣的, 人眼對綠色的刺激要比紅色和藍色更為敏感一些, 因此突出G的信噪比, 可能會使視覺效果更好, 通過實驗分析對比也證實了這一點。
基于DCT的快速算法分為兩大類型,即常規快速運算法[16,17]和查表法[9~13]。常規快速算法均是致力于使完整計算8×8子塊的DCT 的總運算量達到最小,每個系數的計算并非獨立,并不能單獨求取幾個系數。對于色彩分量G采用完整DCT,對R彩色分量和B彩色分量根據G分量只求相應的有限幾個有效系數,應用常規快速算法體現不出本算法的優越性,因此筆者對三個彩色分量的DCT采用查表法。
圖像壓縮過程中使用DCT時,均是將每一幅圖像分解成多個8×8 子圖像塊進行處理,這樣,每個子塊用到的DCT系數就是定值。由于查表法是將系數與圖像所有可能值事先乘好放入表中,只要在運行時調入內存,再進行尋址取數相加即可,幾乎不進行乘法運算,與常規算法相比,速度得到較大提高。實際測試表明,查表法計算完整DCT所需時間是常規算法的48%左右。
查表法所用時間與變換對象個數成正比,這是查表法的另一優于其他算法的地方。下面對R、B顏色分量只是求有限幾個有效系數,使查表法的這一優點得以體現。
132 R、B顏色分量的有效系數編碼
這部分利用RGB三顏色分量頻域的相似性,依據G顏色分量的有效系數,靈活確定R、B顏色分量的有效系數。上一步通過查表法對G分量進行完整DCT及其量化操作,得到有效系數,記錄下有效系數的位置;這里就設三種顏色分量的有效系數分布是相同的。這樣,已經知道了R、B顏色分量DCT域中有效系數的具體位置(與G相同),對這兩個分量,只計算其有效系數,其他系數直接賦值零。
圖像的解碼方法可采用查表法或者常規算法,沒有限制。本算法無須顏色空間的重新轉換,適用于顯示器直接顯示。
2 實驗結果分析
彩色圖像峰值信噪比和壓縮比計算公式如下:
PSNR=10 log10{2552/(MSE(R)+MSE(G)+MSE(B))/3]}(3)
C=S0/(SR+SG+SB)(4)
其中:MSE(R)、MSE(G)、MSE(B)分別為三個顏色分量的均方差;S0為原圖像位數SRSGSB為三個顏色分量壓縮后的位數。
實驗分析,部分編碼結果分析見表1和2,從壓縮比、圖像質量和運算復雜度三方面來分析。本算法和常規算法選擇同樣的圖像,從實驗結果來看本算法的壓縮性能和標準算法相差甚微,運算復雜度相對小得多。分析:首先,本文省掉了顏色空間轉換,解碼時也就無須顏色空間再次轉換;其次,本文R、B顏色分量只求幾個有效系數,省去了其他系數的運算以及其量化運算;最后,本文利用三基色分量極好的時頻域相似性,保留的有效系數有充分的理論依據,與常規變換量化后所求的非零系數保持一致,因此,解碼恢復的圖像和常規算法恢復的圖像質量并無差距。綜上,本算法在不影響圖像編碼質量的前提下,大大簡化了編碼過程,提高了編碼效率。
表1 與常規壓縮方法的比較
常用圖像比較項JPEG(YUV)本文算法
Lena圖像壓縮比C26.426.2
峰值信噪比PSNR39.238.7
peppers圖像壓縮比C26.126.8
峰值信噪比PSNR38.938.3
表2 與常規壓縮算法計算量的比較
圖像子塊比較項快速算法(YUV)查表法(RGB)
8×8乘法加法268608—0
3 結束語
本文提出了一種新的基于RGB空間的彩色圖像壓縮編碼,充分利用了RGB色彩分量之間的相關性。算法依據三基色分量頻域變換系數有很好的相關性這一特點,只對其中一個顏色分量G進行完整DCT變換,R、B顏色這兩個分量只求少數幾個非零系數。算法通過查表法實現DCT,特別是R、B這兩個分量只求少數幾個有效系數(非零系數值),使得查表法[10]的優越性可更好地體現,既減少了變換過程的運算量,也省去了無效系數的量化運算,是一種一舉兩得的方法。另外,常規8點DCT快速算法的11次乘法有8次用于最后一級的變換,因此本文的思想也可以用于常規快速算法中,可以減少一半的乘法運算。比較以往的算法,本算法的運算量更小。
參考文獻:
[1]
NADENAU M J,REICHEL J,KUNT M.Waveletbased color image compression:exploting the contrast sensitivity function[J].IEEE Trans on Image Processing,2003,12(1):5870.
[2]BRAHIMI Z,SAADI K A.Color image coding based on embedded wavelet zero tree and scalar quantization[C]//Proc ofthe 17th ICPR 2004 International Conference on Pattern Recognition.2004.
[3]DELP E J,KE S.Color images compression using an embedded rate scalable approach[C]//Proc of IEEE International Conference on Image Processing.1997.
[4]QIU Guoping.Embedded color image coding for content based retrieval[J].J Vis Commun Image R,2004,5(1):507521.
[5]MARTIN K,LUKAC R,PLATANIOTIS K N.Efficient encryption of wavelet based coded color images[J].Pattern Recognition,2005,38(9):11121115.
[6]SKODRAS A,CHRISTOPOULOS C,EBRANHIMI T.The JPEG2000 still image compression standard[J].IEEE Signal Processing Magazine,2001,18(5):3658.
[7]趙巖,王新宇,楊永忠.基于三維幀內預測的彩色圖像編碼[J].吉林大學學報,2005,23(2):113117.
[8]陳宇拓,韓旭里,余英林.基于色差分析與JPEG2000的彩色圖像編碼[J].小型微型計算機系統,2007,28(6):11031109.
[9]于倩,邵洋,張鐵軍,等.基于媒體指令的二維DCT快速計算[J].計算機工程,2007,33(12):2527.
[10]謝敏,黃賢武,李秋菁, 等.一種快速DCT 圖像壓縮算法的研究[J].計算機應用研究,2002,19(12):150152.
[11] 杜相文,陳賀新,趙巖.基于查表的無乘法DCT快速算法[J].計算機工程,2004,30(20):159160.
[12]孫宇峰,陳國軍,王大鳴,等.一種高精度正余弦函數的FPGA實現方法[J].信息工程大學學報,2007,8(3):365370.
[13]劉代志,錢昌松,黃世奇,等.索引算法及其在圖像多尺度變換中的應用[J].中國圖象圖形學報,2007,12(2):218221.
[14]紀秀花.適于低碼率圖像編碼的DCT快速算法[J].計算機輔助設計與圖形學學報,2004,16(10):13551359.
[15]DYCK R E van,RAJALA S A.Sensitivity to color error introduced by processing in different color spaces[C]//Proc of IEEE VSPC.1991.
[16]羅天煦,鄺繼順.一種基于Loeffler算法的快速實現2D DCT/IDCT的方法[J].計算機應用研究,2007,24(1):224231.
[17]LOEFFLER C,LIGTENBERG A,MOSCHYTZ G.Practical fast 1D DCT algorithms with 11 multiplications[C]//Proc of IEEE International Conference on Acoustics Speech and Signal Processing.1989:988991.