freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于dct的圖像壓縮編碼算法的研究(編輯修改稿)

2025-01-08 19:33 本頁面
 

【文章內(nèi)容簡介】 v c u c v f x y u v???? ??? ? ? ?? ? ? ? ?? ? ? ??? ( )式中, 7,1,0, ??vuyx 。????? ????其它10,021)()( vuvcuc 在 MATLAB 的圖像處理工具箱中,可以直接調(diào)用 dct2 和 idct2 來實(shí)現(xiàn)二維離散余弦變換及其反變換。 a、 dct2 函數(shù)實(shí)現(xiàn)圖像的二維離散余弦變換,其語法為: F=dct2(f) b、 idct2 函數(shù)實(shí)現(xiàn)圖像的二維離散余弦逆變換,其語法為: F=idct2(f) 在 MATLAB 圖像處理工具箱中,有一個對圖像進(jìn)行塊操作的函數(shù) blkproc,利用這個函數(shù),可以直接實(shí) 現(xiàn)圖像一系列 8 8 子塊的 DCT 變換。其語法格式為: B = blkproc(A, [m n], fun, parameter1,, parameter2, ...) B = blkproc(A, [m n], [mborder nborder],fun,...) B = blkproc(A, 39。indexed39。, ...) [m n]是指圖像以 m*n 為分塊單位,對圖像進(jìn)行處理 (如 8像素 *8 像素 ) Fun:應(yīng)用此函數(shù)分別對每個 m*n 分塊的像素進(jìn)行處理 parameter1, parameter2:要傳給 fun 函數(shù)的參數(shù) mborder nborder:對每個 m*n 塊上下進(jìn)行 mborder 個單位的擴(kuò)充,左右進(jìn)行 nborder個單位的擴(kuò)充,擴(kuò)充的像素值為 0, fun 函數(shù)對整個擴(kuò)充后的分塊進(jìn)行處理。 8 8 的圖像經(jīng)過 DCT 變換后,其低頻分量都集中在左上角,高頻分量分布在右下角(DCT 變換實(shí)際上是空間域的低通濾波器 )。由于該低頻分量包含了圖像的主要信息 (如亮度 ),而高頻與之相比,就不那么重要了,所以我們可以忽略高頻分量,從而達(dá)到壓縮的目的。將高頻分量去掉,這就要用到量化,它是產(chǎn)生信息損失的根源,這里的量化操 8 作,就是將某一個值除以量化表 中對應(yīng)的值。由于量化表左上角的值較小,右上角的值較大,這樣就起到了保持低頻分量,抑制高頻分量的目的。 JPEG 使用的顏色是 YUV 格式,Y分量代表了亮度信息, UV分量代表了色差信息。相比而言, Y分量更重要一些,我們可以對 Y 采用細(xì)量化,對 UV 采用粗量化,可進(jìn)一步提高壓縮比。所以量化表通常有兩張,一張是針對 Y的,一張是針對 UV 的。 DCT 系數(shù)的量化 量化是對經(jīng)過 DCT 變換后的頻率系數(shù)進(jìn)行量化,其目的是減小非“ 0”系數(shù)的幅度以及增加“ 0”值系數(shù)的數(shù)目,它是圖像質(zhì)量下降的最主要原因。 對于基于 DCT 的 JPEG 圖像壓縮編碼算法使用如圖 所示的均勻量化器進(jìn)行量化,量化步距是按照系數(shù)所在的位置和每種顏色分量的色調(diào)值來確定。因?yàn)槿搜蹖α炼刃盘柋葘ι钚盘柛舾校虼耸褂昧吮? 所示的一種量化表。此外,由于人眼對低頻分量的圖像比對高頻分量的圖像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。 圖 均勻量化器 亮度和色度因?yàn)榇淼膱D像的信息量不同,亮度代表了圖像的低頻分量,色度代表了圖像的高頻分量,要分別對亮度和色度進(jìn)行量化,所以量化表也是不同的。 JPEG 壓縮色度和亮度量化表如表 所示。 DCT 系數(shù)輸入 量化系數(shù)輸出 9 表 JPEG壓縮色度和亮度量化表 亮度量化表 色度量化表 16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99 12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99 14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99 14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99 18 22 37 56 68 109 103 77 99 99 99 99 99 99 99 99 24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99 49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99 79 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99 量化會產(chǎn)生誤差,上圖是綜合大量的圖像測試的實(shí)驗(yàn)結(jié)果,對于大部分圖像都有很好 的結(jié)果。表中可以看出,高頻部分對應(yīng)的量化值大,目的就是將高頻部分編程接近于0,以便以后處理。 JPEG 可以在壓縮比和圖像質(zhì)量間作取舍,方法就是改變量化值。如果量化值放大一倍,則有更多的系數(shù)量化為 0,提高了壓縮比。 量化系數(shù)的編排 經(jīng)過 DCT 變換后,低頻分量集中在左上角,其中 F(0, 0)(即第一行第一列元素 )代表了直流 (DC)系數(shù),即 8 8 子塊的平均值,要對它單獨(dú)編碼。由于兩個相鄰的 8 8 子塊的DC 系數(shù)相差很小,所以對它們采用差分編碼 DPCM,可以提高壓縮比,也就是說對相鄰的子塊 DC 系數(shù)的差值進(jìn)行編 碼。 8 8 的其它 63 個元素是交流 (AC)系數(shù) [6],采用行程編碼。所以量化后的系數(shù)要重新編排,目的是為了增加連續(xù)的“ 0”系數(shù)的個數(shù),就是“ 0”的游程長度,方法是按照 Z字形的式樣編排。 DCT變換后低頻分量多呈圓形輻射狀向高頻率衰減,因此可以看成按 Z 字形衰減。因此,量化系數(shù)按 Z 字形掃描讀數(shù),這樣就把一個 8 8 的矩陣變成一個 1 64 的矢量,頻率較低的系數(shù)放在矢量的頂部。量化后的 DCT 系數(shù)的編排如圖 所示。 10 圖 量化 DCT系數(shù)的編排 量化后的 DCT系數(shù) 的序號如表 。 表 量化 DCT系數(shù)的序號 0 1 5 6 14 15 27 28 2 4 7 13 16 26 29 42 3 8 12 17 25 30 41 43 9 11 18 24 31 40 44 53 10 19 23 32 39 45 52 54 20 22 33 38 46 51 55 60 21 34 37 47 50 56 59 61 35 36 48 49 57 58 62 63 DC 系數(shù)的編碼 8 8 子塊的 64 個變換 系數(shù)經(jīng)量化后,按直流系數(shù) DC 和交流系數(shù) AC 分成兩類處理。坐標(biāo) u=v=0 的直流系數(shù) DC實(shí)質(zhì)上就是空域圖像中 64 個像素的平均值。圖像塊經(jīng)過 DCT變換之后得到的 DC 直流系數(shù)有兩個特點(diǎn),一是系數(shù)的數(shù)值比較大,二是相鄰 8 8圖像塊的 DC系數(shù)值變化不大。根據(jù)這個特點(diǎn), JPEG 算法使用了差分脈沖調(diào)制編碼技術(shù)。 差分脈沖編碼調(diào)制 (DPCM, Differential Pulse Code Modulation),是一種對模擬信號的編碼模式,先根據(jù)前一個抽樣值計(jì)算出一個預(yù)測值,再取當(dāng)前抽樣值和預(yù)測值之差作為編碼用。此差值稱為預(yù) 測誤差。抽樣值和預(yù)測值非常接近 (因?yàn)橄嚓P(guān)性強(qiáng) ),預(yù)測 11 誤差的可能取值范圍比抽樣值變化范圍小。所以可用少幾位編碼比特來對預(yù)測誤差編碼,從而降低其比特率。這是利用減小冗余度的辦法,降低了編碼比特率。 因此 ,對 DC 系數(shù)編碼進(jìn)行差分脈沖編碼就是對相鄰圖像塊之間量化 DC 系數(shù)的差值(Delta)進(jìn)行編碼,即對相鄰塊之間的 DC系數(shù)的差值 DIFF=DCi DC1?i 編碼。 DC采用差值脈沖編碼的主要原因是由于在連續(xù)色調(diào)的圖像中,其差值多半比原值 小,對差值進(jìn)行編碼所需的位數(shù),會比對原值進(jìn)行編碼所需的位數(shù)少許多。例如差值為 5,它的二進(jìn)制表示值為 101,如果差值為 5,則先改為正整數(shù) 5,再將其二進(jìn)制轉(zhuǎn)換成 1 的補(bǔ)數(shù)即可。所謂 1的補(bǔ)數(shù),就是將每個 Bit若值為 0,便改成 1; Bit 為 1,則變成 0。差值 5應(yīng)保留的位數(shù)為 3,列出差值所應(yīng)保留的 Bit 數(shù)與差值內(nèi)容的對照。 在差值前端另外加入一些差值的霍夫曼碼值,例如亮度差值為 5(101)的位數(shù)為 3,則霍夫曼碼值應(yīng)該是 100,兩者連接在一起即為 100101。 AC 系數(shù)的編碼 DCT 變換所得系數(shù)除直流系數(shù)之 外的其余 63 個系數(shù)稱為交流系數(shù) (AC 系數(shù) )。量化AC系數(shù)的特點(diǎn)是 1 64 矢量中包含有許多“ 0”系數(shù),并且許多“ 0”是連續(xù)的,因此使用非常簡單和直觀的行程長度編碼 (RLE)對它們進(jìn)行編碼。 所謂行程編碼 (RunLength Encoding)就是指僅存儲一個像素值以及具有相同顏色的像素數(shù)目的圖像數(shù)據(jù)編碼方式,或稱 游程編碼 ,常用 RLE(RunLength Encoding)表示。該壓縮編碼技術(shù)相當(dāng)直觀和經(jīng)濟(jì),運(yùn)算也相當(dāng)簡單,因此解壓縮速度很快。 RLE 壓縮編碼尤其適用于計(jì)算機(jī)生成的圖形圖像,對減少存儲容量很有效果。 圖 AC編碼格式 63個 AC系數(shù)采用行程編碼的方式進(jìn)行編碼的格式如圖 。也即在 AC01到 AC63 中,找出每一個非零的 AC 值,將其表示成 (NN/SS)VV 的形式,其中: NN 表示該AC值前的 0的個數(shù)。而 SS、 VV與 DC 的定義一樣。如果連續(xù)的非 0超過 15 個時 ,增加7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 第一字節(jié) 第二字節(jié) 兩個非零值 之間的連續(xù) 零的個數(shù) 下一個非零 值所占的比 特數(shù) 下一個非零系數(shù)的實(shí)際值 12 一個擴(kuò)展字節(jié): (15/0)表示連續(xù) 16個 0。另外若有一串 0延伸到 AC63,一律用 (0/0)表示結(jié)束。 對于 AC系數(shù),有兩個符號。符號 1為行程和尺寸,( 0, 0)和( 15, 0)是兩個比較特殊的情況。( 0, 0)表示塊結(jié)束標(biāo)志( EOB, (15, 0)表示 ZRL,當(dāng)行程長度超過 15時,用增加 ZRL 的個數(shù)來解決,所以最多有三個 ZRL(3 16+15=63)。符號 2 為幅度值(Amplitude)。 對于 DC系數(shù),也有兩個符號。符號 1為尺寸 (Size),符號 2為幅度值 (Amplitude)。 對于 AC系數(shù),符號 1和符號 2分別進(jìn)行編碼。零行程長度超過 15個時,有一個符號 (15,0),塊結(jié)束時只有一個符號 (0, 0)。 對符號 1進(jìn)行 Huffman 編碼 (亮度,色差的 Huffman 碼表不同 ),對符號 2進(jìn)行變長整數(shù) VLI 編碼。舉例來說: Size=6 時, Amplitude 的范圍是 63~ 32,以及 32~ 63,對絕對值相同,符號相反的碼字之間為反碼關(guān)系。所以 AC 系數(shù)為 32 的碼字為 100000, 33的碼字為 100001, 32的碼字為 011111, 33的碼字為 011110。符號 2 的碼字緊接于符號 1 的碼字之后。 對于 DC系數(shù), Y和 UV的 Huffman 碼表也不同。 組成位數(shù)據(jù)流 JPEG 編碼的最后一個步驟是把各種標(biāo)記代碼和編碼后的圖像數(shù)據(jù)組成一幀一幀的數(shù)據(jù),這樣做的目的是為了便于傳輸、存儲和譯碼器進(jìn)行譯碼, 這樣的組織的數(shù)據(jù)通常稱為 JPEG 位數(shù)據(jù)流 (JPEG bit stream)。 舉個例子來說明上述過程。下面為 8 8的亮度 (Y)圖像子塊經(jīng)過量化 后 的系數(shù),如表 。 表 亮度量化后的系數(shù) 15 0 1 0 0 0 0 0 2
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1