張曉鋒,賈曉強
(1.渭南職業技術學院 機電工程學院,陜西 渭南714000;2.渭南師范學院 網絡安全與信息化學院,陜西 渭南 714099)
基于奇異值分解的數字圖像壓縮技術研究
張曉鋒1,賈曉強2
(1.渭南職業技術學院 機電工程學院,陜西 渭南714000;2.渭南師范學院 網絡安全與信息化學院,陜西 渭南 714099)
為了實現圖像壓縮,在分析圖像壓縮原理的基礎上,提出了一種矩陣奇異值分解(SVD)的圖像壓縮算法,該算法通過對數字圖像矩陣進行奇異值分解,將一幅圖像轉換成包含幾個非零值的奇異值矩陣,從而實現了圖像壓縮。通過Matlab仿真實驗,在奇異值從0變化到240的過程中,當奇異值大于50時,隨著奇異值的增大,壓縮比越來越小,圖像慢慢變清晰。和原始圖像相比,采用矩陣的奇異值分解壓縮方法可以將原始圖像壓縮20%左右,具有較好的壓縮性能。
壓縮率;圖像壓縮;奇異值分解
Abstract:In order to realize the image compression,on the basis of analyzing image compression principle,a matrix singular value decomposition(SVD) image compression algorithm has been proposed.Based ondigital image matrix singular value decomposition was made in the algorithm,an image was converted into singular value matrix containing several nonzero value,and the image compression can be realized.Bymatlab simulation experiment, the singular value varying from 0 to 240, When the singularvalues is greaterthan50,with the increase of singular value the compression ratio is smaller and smaller, and the image become more and more clear.Compared with the original image, using the singular value decomposition of matrix compression method,the original image can be compressed by about 20%,which has good compression performance.
Key words:compression ratio;image compression; singular value decomposition
在信息爆炸的時代,人類日常的工作、生活中多媒體信息越來越多。多媒體信息主要有3種形式:文本、聲音和圖像(靜態和動態)。從信息傳播的發展史(電報、電話、傳真、廣播、電視、網絡等)可以看到,傳播信息的焦點從聲音傳給圖像。然而,圖像是3種形式的信息中占用空間較大的數據,這給圖象傳輸效率以及圖象保存帶來了很大的困難。對于比較大的圖象數據,如果不經過壓縮處理,很大程度超出了計算機的存儲和處理能力。而且在現有的通信信道的傳輸速率下,是很難實現多媒體訊息傳輸的實時性,數字圖象需要快速的傳輸效率和極大的空間儲備已經成為推廣數字圖像的最大障礙。
圖像數據之所以能被壓縮,就是因為數據中存在著冗余。圖像數據的冗余主要表現為:圖像中相鄰像素間的相關性引起的空間冗余;圖像序列中不同幀之間存在相關性引起的時間冗余;不同彩色平面或頻譜帶的相關性引起的頻譜冗余。數據壓縮的目的就是通過去除這些數據冗余來減少表示數據所需的比特數。
圖像壓縮可以是有損數據壓縮也可以是無損數據壓縮。對于如繪制的技術圖、圖表或者漫畫優先使用無損壓縮,這是因為有損壓縮方法,尤其是在低的位速條件下將會帶來壓縮失真。如醫療圖像或者用于存檔的掃描圖像等這些有價值的內容的壓縮也盡量選擇無損壓縮方法。有損方法非常適合于自然的圖像,例如一些應用中圖像的微小損失是可以接受的(有時是無法感知的),這樣就可以大幅度地減小位速。
在圖像處理中應用SVD(奇異值分解)的主要理論背景是:1)圖像奇異值的穩定性非常好,即當圖像被施加小的擾動時,圖像的奇異值不會有大的變化;2)奇異值所表現的是圖像內蘊特性而非視覺特性[4]。
奇異值分解: 對于矩陣,A∈Rm×nr,r>0 其中 m 和n是任意正整數(不約定大?。?,有下面的分解定理。
1)(奇異值分解)[5]給定 A∈Rm×nr,r>0,則存在正交矩陣 V∈o(m)和 V∈o(m),使得

其中D∈Rm×n是矩形對角矩陣

且 σ1≥σ2,…,≥σn>0.
假設用 n×n維矩陣 A表示要傳送的原始圖像。假定對矩陣A進行奇異值分解,便得到:

由于ATA∈Rm×n是半正定對稱矩陣,且 rank(ATA)=rank(AAT)=rank(A),所以 ATA 的所有特征值是非負的,且有r個正的。因此可以將ATA的n個特征值按降序排列記對應的正交特征向量為 x1,x2,…,xn,且記:
D1=diag(σ1,σ2,…,σn),則有

記,V1=[x1,…,xn],V2=[x1,…,xn]則,ATAV1=V1D1由此得到

記 U1=AV1D-11∈Rm×n,則由式(4),有 UT1U1=Ir,即是U1的列式互相正交的,因為Rm中任意一組正交向量都可以擴展成為整個空間的一組正交基,所以存在 U2∈Rm×(n-r),使得 U=[U1,U2]∈o(m)。 另外由得 AV2=0, 因此,即AV2的列都是零向量。這些子矩陣滿足

若A∈Rm×n,ATA 對于非零特征值的非負平方根稱作A的奇異值,A的奇異值的全體集合記作σ(A)。分解公式(2)稱作A的奇異值分解,簡記為SVD分解;V的第i列vi=Vri稱作A的屬于σi的單位右奇異向量;U的第i列ui=Uei稱作A的屬于σi的單位左奇異向量。
2)(幾何 SVD 分解)[6]若 A∈Rm×n,r≠0 則 Rm中存在標準正交基 v1,v2,…,vn,在 Rm中存在標準正交基 u1,…,um,和正實數,使得

如果把A看成是從向量x∈Rm到Ax∈Rm的線性變換,則可以選擇中的基向量,將任何映射表示成矩陣的形式。
在研究將一個空間變換到同一個空間時,矩陣的特征值起到重要的作用,而研究將一個空間映射到不同空間時,特別是不同維數的空間里時,比如超定或欠定方程組所表示的情況下,就需要用矩陣的奇異值來描述算子對空間的作用了。
數字圖象的定義:一幅圖片可以被定義為一個二維函數f(m,n),在這里m和n表示空間坐標,而f對于任何(m,n)坐標的(灰度)的函數值被稱為點的灰度值(縮放)。當m,n和f的值都是有限的和離散的,則稱這是一個數字圖象。由上定義可知,數字圖象時可以用三維矩陣來表示的。假定設圖像A,將其矩陣化后所得像素為m×n的A數字圖像矩陣。對矩陣A進行奇異值分解,由公式(2)有A=UDVT且rank(A)=r,可知對數字圖像矩陣A進行矩陣奇異值分解后產生了3個矩陣U、D和V,矩陣A的秩為R。U為m階矩陣,V為n階矩陣,D為對角矩陣。D中含有的非零元素組成矩陣[σ1,σ2,…,σN],且 σ1>σ2>…,σN,σ為A的矩陣奇異值。σ的大小反映出了它對應還原到數字圖像A的有效作用信息的多少,即σn的值越大其所包含的數字圖像A的有效作用信息越多,反之亦然。U和V中同樣也包含著能恢復到圖像A的所有信息的一部分,正是因為此,若能減少U、D和V 3個矩陣中的一些信息(既是刪減矩陣的一些行和列,但這些行和列必須相對應),那么還原到圖像時,該還原圖像的信息將小于原來的圖像信息,則勢必能減少其所占的存儲空間。即是恢復到圖像A′也會比原圖像A所占用的存儲空間少,從而達到設想的壓縮效果。
由于D中每一個奇異值所含有的原來的圖像的信息是有限的,在實際操作中可以只取D的前k個奇異值(其后的奇異值假定為零,對恢復圖像不起作用),對應著m×m左奇異向量矩陣U的和n×n右奇異向量V的對前K列被選取出來。也就是僅僅使用K個奇異值來近似的表示恢復的矩陣A,即有Ak=Ak所含的內容即為數字圖像矩陣A中一部分信息。這種算法的壓縮比為:


圖1 設計流程圖
前面的內容介紹到了一些圖像壓縮的知識和利用矩陣奇異值實現壓縮的方法和流程圖,下文將結合MATLAB編程語言對預選取的圖像實現圖像壓縮。圖2即預選的jpg格式圖像。

圖2 原圖像儲存大小=14.4K(b)k=5ρ=21.689儲存大小=5.3 K
以下將根據流程圖對整個圖像進行不同k值(奇異值保留個數)和壓縮率的壓縮分析:
讀入圖像girl.jpg,所得的矩陣定為A。由公式(1)以及奇異值的定義可以得到girl.jpg矩陣化后再進行奇異值分解后的奇異值個數為240個。在MATLAB中可使用D=diag(D)函數可以輕易地測量出原圖像的所有奇異值,此圖的前50個奇異值數值如表1所示。
表1顯示出在奇異值按大小排列后,位于前面的奇異值含有能還原圖像的信息越多,壓縮能力越強。圖3將給出壓縮能力與奇異值個數的數字關系。
從圖3中,體現出了對girl.jpg圖像的壓縮效果與保留奇異值數目多少不同的關系。從中可以看出,當奇異值k在小于第50個奇異值 (從大到小排列)以后的奇異值對圖像的貢獻較小。同時也體現出,奇異值k的個數在向左方遞減的同時,壓縮比值越大,其圖像的失真度越高
從表2壓縮前后屬性對比中可以從視覺上感官出保留的奇異值k的個數多少對重建圖像的影響,通過表2的各項參數分析表明,當k=5壓縮為5.3 kB,k=15為 9.6 kB,k=20為 11.2 kB,k=30為 12.3 kB,k=40為12.8 kB。可以看出,k值越小,壓縮后的圖像越明顯,但是圖像不清晰,隨著k值的變大,圖像慢慢變清晰,但壓縮率變小,滿足奇異值的曲線分布。

表1 girl.jpg前50個奇異值一覽表

圖3 壓縮比與奇異值個數關系曲線圖
用奇異值分解法來實現圖像壓縮,在不影響圖像質量前提下,利用計算機模擬,分析實驗數據結果表明,重構效果較好,運行時間較短,速度快,儲存空間減少。使圖象壓縮具有更高的效率和精度。在選擇矩陣的奇異值分解來實現圖像的壓縮與恢復時,可以達到很高的壓縮比同時不產生圖像失真。當然,利用奇異值進行壓縮的時候,由于這些特征值都是由該矩陣自身和它的轉置的乘積所求出的,計算量是比較大的。

圖 4 (中)k=30 ρ=4.563儲存大小=12.3 K

圖 5 k=40(右)ρ=3.422儲存大小=12.8 K

表2 壓縮前后屬性對比表
[1]劉直芳,王運輝.數字圖像處理與分析[M].北京:清華大學出版社,2015.
[2]韋仙,康睿丹.基于降維壓縮法的圖像重構[J].武漢工程大學報,2015,37(12):69-74.
[3]張成楠.基于奇異值分解圖像壓縮算法的研究[J].山西電子技術,2010,4(2):79-80.
[4]陳一虎.基于SVD圖像壓縮技術研究[J].價值工程,2011,13(2):169-170.
[5]羅小桂.矩陣奇異值分解(SVD)的應用[J].井岡山醫專學報,2013,12(4):133-135.
[6]王建輝.圖像矩陣降維壓縮的一種新方法[J].控制與決策,2007,22(12):1408-1416.
[7]吳俊政.一種基于奇異值分解的圖像壓縮方法[J].計算機與數字工程,2009,37(5):136-139.
[8](美)岡薩雷斯等.數字圖像處理[M].北京:電子工業出版社,2009.
[9]陳波,王紅霞,成禮智.圖像壓縮中的快速方向離散余弦變換[J].北京:軟件學報,2011,22(4):826-832.
[10]張軍,成禮智,楊海濱,等.基于紋理的自適應提升小波變換圖像壓縮 [J].計算機學報,2010,33(1):185-192.
[11]黃長春,徐抒巖,胡君.奇異值分解遙感圖像壓縮算法研究[J].計算機仿真,2011,28(8):226-353.
[12]張飛艷,謝偉,陳榮元,等.基于視覺加權的奇異值分解壓縮圖像質量評價測度[J].電子與信息學報,2010,32(5):1062-1065.
[13]王懷光,張培林,張云強,等.基于奇異值分解和小波變換的圖像壓縮算法[J].火炮發射與控制學報,2012,12(15):38-42.
[14]王郗雨,楊曉梅,胡學姝.基于奇異值分解的壓縮感知核磁共振圖像重構算法 [J].計算機應用研究,2013,30(4):1248-1252.
[15]趙峰,黃慶明,高文.一種基于奇異值分解的圖像匹配算法[J].計算機研究與發展,2010,47(1):23-32.
Research on digital image compression technology based on singular value decomposition
ZHANG Xiao-feng1,JIA Xiao-qiang2
(1.Department of Computing Science, Weinan Vocational and Technical College,Weinan714000,China;2.School of Network Security and Information,Weinan Normal University,Weinan714099,China)
TN911
A
1674-6236(2017)19-0179-04
2016-09-04稿件編號201609028
陜西省重點扶持學科基金資助項目(14XZD010);渭南師范學院科研基金資助項目(16YKS004)
張曉峰(1981—),男,陜西渭南人,碩士,講師。研究方向:WEB工程,數字圖像處理。