程芳



摘要:目的是要對(duì)靜止圖像壓縮,從而節(jié)省空間,使得單位時(shí)間內(nèi)能傳送更多和更快的圖像或者視頻,方法是通基于DCT變換的壓縮方式,DCT在進(jìn)行壓縮和量化時(shí),圖像的能量集中在左上角,而右下角的值絕大部分為零,從而降低了比特率。結(jié)果比較壓縮后的圖片和原始的圖片,雖然壓縮后的像素值有細(xì)微的變化,但是由于人眼的特性,根本發(fā)現(xiàn)不了,最重要的是大大節(jié)省了空間,得出結(jié)論,基于DCT變換的圖片壓縮是一種很好的方法。
關(guān)鍵詞:圖像;壓縮;DCT;像素
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)10-0228-02
1 背景
根據(jù)大數(shù)據(jù)顯示大家對(duì)圖像、視頻的追求與日俱增,像百度推送的小視頻,以及抖音等都成為大家消遣時(shí)光主要對(duì)象,但是圖像、視頻所占據(jù)的數(shù)據(jù)太大,所以在傳輸之前首先都要進(jìn)行壓縮,由于人眼的特性,視頻圖像在形成的過(guò)程中是一秒鐘傳送50幀靜態(tài)圖像而形成的,所以終歸是對(duì)靜態(tài)圖像的壓縮的過(guò)程,另外圖像及視頻在傳輸過(guò)程中會(huì)產(chǎn)生大量的數(shù)據(jù),會(huì)占據(jù)大量的帶寬,同時(shí)還會(huì)使得數(shù)據(jù)在傳輸過(guò)程中速度大大地降低,隨著5G時(shí)代和3D電視的到來(lái),圖像壓縮是個(gè)嚴(yán)峻的問(wèn)題,只有解決了數(shù)據(jù)量的問(wèn)題,才會(huì)推進(jìn)下一個(gè)數(shù)字時(shí)代的發(fā)展。
JPEG[1]是灰度圖像和真彩色圖像壓縮的一種標(biāo)準(zhǔn)方式,對(duì)于一些工程圖、卡通圖和非真實(shí)感的圖片若采用JPEG壓縮方式壓縮效果是不好的。圖像壓縮在進(jìn)行分類時(shí)有兩種,第一種為有損壓縮,是一種基于DCT的方法,壓縮后在重構(gòu)圖像時(shí),壓縮后的圖像像素是明顯少于原始圖像的像素,因?yàn)镈CT公式中涉及無(wú)理數(shù),而計(jì)算機(jī)在計(jì)算過(guò)程中會(huì)截取有效位數(shù),將剩下的就去除,但是人眼的特性無(wú)法辨別出,人們看到壓縮后的圖片與沒(méi)壓縮前是差不多的。第二種壓縮方式為無(wú)損壓縮,通常采用的是預(yù)測(cè)的方式,壓縮后的圖像和原始圖像的像素是相同。
2 基于DCT圖像壓縮的過(guò)程
輸入圖像通過(guò)DCT變換,DCT在圖像壓縮中的作用是將圖像中絕大部分能量集中在少數(shù)的系數(shù)中,變換的過(guò)程只處理該少數(shù)的系數(shù),其他空間域的值都轉(zhuǎn)換為零。DCT變換從理論上講沒(méi)有任何圖像信息的丟失,輸入圖像是等于輸出的圖像。量化的過(guò)程就是把視覺(jué)上不重要的地方把它丟失,減少圖像塊的存儲(chǔ)量,是數(shù)據(jù)量減少的一個(gè)重要環(huán)節(jié),由于量化的過(guò)程是一種一對(duì)多,如像素為0.1,在量化時(shí)它為0.5,像素為0.9,在量化時(shí)也為0.5去處理,所以在量化的過(guò)程會(huì)引起量化噪聲,熵編碼是編碼的過(guò)程不能丟失相關(guān)的信息,它是通過(guò)信息出現(xiàn)的概率來(lái)進(jìn)行編碼的,如離散字母:{a1,a2,a3,a4},a1,a2,a3,a4出現(xiàn)的概率分別用p1,p2,p3,p4表示,沒(méi)別為p1=0.123,p2=0.25.p3=0.5,p4=0.125,對(duì)這些離散字母按照概率的高低重新排序,分別為a3,a2,a1,a4,其中a1,a4出現(xiàn)的概率是相同的,把兩者結(jié)合起來(lái),a1與a4概率相加與a2相同,a2,a1,a4相加與a3相同,依次編碼的過(guò)程如圖3所示。圖像解壓縮是圖像壓縮的逆過(guò)程。
3 DCT壓縮的工作原理
3.1 圖像預(yù)處理
在DCT變換之前要進(jìn)行前處理,若是彩色圖像首先要把它得RGB空間轉(zhuǎn)換成YUV色彩空間,其中Y是亮度信號(hào),U、V表示兩個(gè)色差信號(hào),接著對(duì)U和V連個(gè)色差信號(hào)進(jìn)行采樣,在采樣的過(guò)程中其實(shí)則為壓縮,不對(duì)Y信號(hào)壓縮主要是亮度信號(hào)主要為低頻信號(hào),如果出現(xiàn)了失真,人眼對(duì)此部分比較敏感,所以Y信號(hào)一般不進(jìn)行壓縮,對(duì)U和V兩倍的采樣后,變成了原來(lái)尺寸1/4,如對(duì)一個(gè)16*16的一個(gè)圖像塊經(jīng)過(guò)色差分量采樣后,則含有6個(gè)8*8的圖像塊,在DCT變換之間,還需將亮度信號(hào)或者灰度圖像的像素值減去128,原先像素值的范圍為(0,255),減去128后變成了(-128,177),減去128主要是因?yàn)樽匀坏拇蟛糠謭D像的灰度值為128的概率比較大,如果減去128,則圖像大部分像素值接近于零,而我們?cè)趬嚎s是最希望碰到的就為零,因?yàn)榱阍趬嚎s式不占據(jù)存儲(chǔ)空間。
3.2 DCT 變換
8*8的像素值經(jīng)過(guò)8*8DCT變換,變換后將原先的灰度值變成了頻域值,在自然圖像中像素點(diǎn)與像素點(diǎn)之間的灰度變化比較緩慢,DCT變換將緩慢、光滑的圖像集中在少數(shù)的低頻當(dāng)中,在量化時(shí)只需要處理這些系數(shù),而其他的像素值則較小或者接近為零,從理論上講DCT變換不會(huì)引起圖像的失真, DCT變換中含有余弦函數(shù),它是無(wú)理數(shù),計(jì)算機(jī)在計(jì)算時(shí)會(huì)截?cái)唷T谥绷鞯姆至慨?dāng)中,又采用差值編碼[2](DPCM)。編碼的過(guò)程如下圖4所示:
原始的像素值是1200、1215、1205、1201、1220、1204,最少需要11位去編碼,采用DPCM,保持1200第一個(gè)直流分量的像素值保持不變,剩下的像素值減去1200,像素值則變成了1200、15、5、1、20、4,經(jīng)過(guò)差值后所需要的比特?cái)?shù)目要遠(yuǎn)遠(yuǎn)小于之前的比特?cái)?shù),這個(gè)過(guò)程其實(shí)也是壓縮的過(guò)程,并且此過(guò)程是可逆的,完成可以重構(gòu)之前的直流分量。在8*8圖像塊中,除了第一個(gè)直流分量,剩下部分為交流分量,在進(jìn)行讀取時(shí)是先讀取左上角的部分,再去讀取右下角的部分,因?yàn)樽笊辖侵饕植嫉氖堑皖l分量,頻率變換比較慢,而人眼對(duì)低頻分量比較敏感,所以先去記錄低頻的部分,而右下角主要分布的是高頻分量,空間頻率變換較快,讀取的順序如圖5所示。
4 實(shí)驗(yàn)過(guò)程
壓縮的流程如圖6所示,首先在一幅圖片中摳出8*8的塊,從a圖中會(huì)發(fā)現(xiàn)原始圖像的像素值點(diǎn)與點(diǎn)變換比較平緩,第一步將這些像素值減去128,再做DCT變換,變換后就為b圖,注意此時(shí)的b圖的值為頻域上的值,從b圖會(huì)發(fā)現(xiàn),它的直流分量占絕大部分,越靠右下角的部分?jǐn)?shù)值都較小,c圖為量化表,將b圖的值除以對(duì)應(yīng)的c圖值并取整即為量化后的值d圖,d圖中絕大部分的值變?yōu)?,直流分量15,單獨(dú)的用DPCM處理,交流的部分用圖5的掃描順序編碼,接下來(lái)是去編碼,將d表中的量化值乘以量化表中的值得到e表,再經(jīng)IDCT變換得到像素值f,比較原始像素值a,和壓縮后得的像素值f,點(diǎn)與點(diǎn)相比較,會(huì)發(fā)現(xiàn)灰度值有細(xì)微的變化,但是這些小變化放在一幅大的圖片中,人眼就很難辨別出,最重要能節(jié)約很多空間,圖7是具體的程序和實(shí)現(xiàn)的圖片。
5 結(jié)束語(yǔ)
圖像經(jīng)過(guò)DCT變換、量化、去量化、IDCT變換后,圖像的像素值有些輕微的變化,但是人眼無(wú)法分辨出,最重要的是圖像節(jié)省了很多空間,使得在單位時(shí)間和單位帶寬內(nèi),能傳送更多和更快的圖像。
參考文獻(xiàn):
[1] 涂昌培.靜止圖像數(shù)據(jù)的壓縮方法[J].江漢大學(xué)學(xué)報(bào),2000,17(3):39-45.
[2] 白慧敏,王鑒,牛澤.基于圖像混合編碼的腦電數(shù)據(jù)加密方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2020,20(12):23-27.
[3] 陳曦.基于DCT的bmp彩色圖像壓縮應(yīng)用研究[J].電腦編程技巧與維護(hù),2020(11):142-143.
[4] 王若飛,劉鋒.選擇排序的DCT系數(shù)對(duì)JPEG圖像的可逆數(shù)據(jù)隱藏[J].計(jì)算機(jī)工程與科學(xué),2020,42(11):2013-2019.
[5] 宋琳琳.計(jì)算機(jī)圖像處理技術(shù)探析[J].現(xiàn)代工業(yè)經(jīng)濟(jì)和信息化,2020,10(10):117-118,151.
[6] 王軍敏,蘆薦宇,張?jiān)妷?mèng).主分量分析在圖像信號(hào)處理中的應(yīng)用[J].平頂山學(xué)院學(xué)報(bào),2020,35(5):49-53.
[7] 燕紅文.一種基于深度學(xué)習(xí)的雙 JPEG 圖像壓縮檢測(cè)算法[J].上海電力大學(xué)學(xué)報(bào),2020,36(5):505,509.
【通聯(lián)編輯:謝媛媛】