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

正文內(nèi)容

多媒體通信畢業(yè)設(shè)計(jì)論文-在線瀏覽

2025-08-05 12:54本頁面
  

【正文】 小。從原理上講可以對(duì)整幅圖像進(jìn)行DCT變換,但由于圖像各部位上細(xì)節(jié)的豐富程度不同,這種整體處理的方式效果不好。最后將操作完成后所有的塊拼接起來構(gòu)成一幅單一的圖像。因此,利用DCT進(jìn)行圖像壓縮確實(shí)可以節(jié)約大量的存儲(chǔ)空間。MATLAB圖像處理上具箱中提供的二維DCT變換及DCT反變換函數(shù)如下。其語法格式為:   (1)B=dct2(A) 返回圖像A的二維離散余弦變換值,其大小與A相同且各元素為離散余弦變換的系數(shù)B(K1,k2)。則進(jìn)行變換之前,將圖像A剪切。圖像數(shù)據(jù)塊分割后,即以MCU為單位順序?qū)U進(jìn)行二維離散余弦變換。對(duì)每個(gè) 88的數(shù)據(jù)塊DU進(jìn)行DCT后,得到的64個(gè)系數(shù)代表了該圖像塊的頻率成分,其中低頻分量集中在左上角,高頻分量分布在右下角。 系數(shù)量化圖像數(shù)據(jù)轉(zhuǎn)換為DCT頻率系數(shù)之后,還要進(jìn)行量化階段,才能進(jìn)入編碼過程。當(dāng)頻率系數(shù)經(jīng)過量化之后,將頻率系數(shù)由浮點(diǎn)數(shù)轉(zhuǎn)變?yōu)檎麛?shù),這才便于執(zhí)行最后的編碼。在JPEG算法中,由于對(duì)亮度和色度的精度要求不同,分別對(duì)亮度和色度采用不同的量化表。 下圖給出JPEG的亮度量化表和色度量化表,該量化表是從廣泛的實(shí)驗(yàn)中得出的。表21 亮度量化值表1611101624405161 12 1214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399表22 色度量化值表17182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999這兩張表依據(jù)心理視覺閥制作, 對(duì) 8bit 的亮度和色度的圖象的處理效果不錯(cuò)。但事實(shí)上人眼對(duì)高頻信號(hào)的敏感度遠(yuǎn)沒有低頻信號(hào)那么敏感。另一個(gè)重要原因是所有的圖片的點(diǎn)與點(diǎn)之間會(huì)有一個(gè)色彩過渡的過程,而大量的圖象信息被包含在低頻率空間中,經(jīng)過DCT處理后, 在高頻率部分, 將出現(xiàn)大量連續(xù)的零。表33DCT系數(shù)值 這樣數(shù)列里的相鄰點(diǎn)在圖片上也是相鄰的了。如下圖所示: 圖23 z掃描示意圖 DC系數(shù)調(diào)制編碼在做DC編碼之前,還必須對(duì)DC值進(jìn)行脈沖差值運(yùn)算,88圖像塊經(jīng)過DCT變換之后得到的DC直流系數(shù)有兩個(gè)特點(diǎn),一是系數(shù)的數(shù)值比較大,二是相鄰88圖像塊的DC系數(shù)值變化不大。DC編碼=哈夫曼識(shí)別碼(或稱標(biāo)志碼)+DC差值二進(jìn)制代碼 表335給出了Y、Cb Cr矩陣的DC差值霍夫曼編碼表。經(jīng)過取整以后,每一個(gè)88塊中,有大量的AC系數(shù)的值為0。AC編碼的原理和方法跟DC相似,所不同的是AC編碼中多了一項(xiàng)RLE壓縮編碼,前面說到經(jīng)過量化取整以后,有許多AC值為0,并經(jīng)過“Z”字形排序,把原可能多的0串行在一起。例如,在[M,N]這一組RLE編碼中,N表示不為0的AC值,M則表示在這不為0的AC值,N之前0的個(gè)數(shù),M最多只能為15,如果AC數(shù)據(jù)值N之前有17個(gè)AC值為0,則先以[15,0]代表有16個(gè)值為0,再以[1,N]表示N前有一個(gè)值為0,如果在某個(gè)AC數(shù)據(jù)值之后(該值不為0),所有AC值皆為0,則這串?dāng)?shù)據(jù)可以用[0,0]表示。將直流元素轉(zhuǎn)換成與上一個(gè)之差之后,接下來將DCT塊重新排序成Zig-Zag序列,再后,JPEG用一個(gè)熵編碼機(jī)制送出元素,輸出帶有建立在其中的RLE,它是編碼機(jī)制的主要部分,基本上,熵編碼輸出包括三個(gè)單詞的序列,不斷重復(fù)直到塊結(jié)束,三個(gè)單詞如下:——DCT輸出矩陣中,當(dāng)前元素之前的連續(xù)0 的個(gè)數(shù) ——后面跟著的幅度值所用的位數(shù) ——DCT系數(shù)的幅度行程長度和位計(jì)數(shù)這兩個(gè)值的組合,形成了輸出的代碼??勺冮L度整型數(shù)編碼利用了DCT的輸出應(yīng)該由大多數(shù)較小的數(shù)值所組成的事實(shí),因此我們想用較少的位數(shù)目進(jìn)行編碼。 霍夫曼編碼Huffman編碼過程的幾個(gè)步驟:l)將信號(hào)源的符號(hào)按照出現(xiàn)概率遞減的順序排列。3)重復(fù)進(jìn)行步驟1和2直到概率相加的結(jié)果等于1為止。5)記錄下概率為1處到當(dāng)前信號(hào)源符號(hào)之間的0,l序列,從而得到每個(gè)符號(hào)的編碼。 下面我舉個(gè)簡單例子: s1=1 s3=010 s5=0111霍夫曼編碼的特點(diǎn):1 編出來的碼都是異字頭碼,保證了碼的唯一可譯性。因此譯碼時(shí)間較長,使得霍夫曼編碼的壓縮與還原相當(dāng)費(fèi)時(shí)。4 對(duì)不同信號(hào)源的編碼效率不同,當(dāng)信號(hào)源的符號(hào)概率為2的負(fù)冪次方時(shí),達(dá)到100%的編碼效率;若信號(hào)源符號(hào)的概率相等,則編碼效率最低。限于篇幅原因,在此就不再詳述。3 壓縮以后的數(shù)據(jù),對(duì)于圖像數(shù)據(jù)的存儲(chǔ)來說,節(jié)省了存儲(chǔ)空間,使得原有的存儲(chǔ)設(shè)備, 能夠用來存儲(chǔ)更多的信息。 JPEG解碼原理按照J(rèn)FIF文件格式,將JPEG文件相關(guān)的字段信息一一讀取出來,并進(jìn)行相應(yīng)的解析。一般而言,JFIF格式文件的讀取順序依次為:SOI字段;APP0字段;APPn字段;DQT字段;SOFO字段;DHT字段;SOS字段;壓縮數(shù)據(jù)字段;EOI字段;讀取JPEG文件相關(guān)信息的時(shí)候,有兩點(diǎn)需要特別注意:由于JPEG中以0XFF來做為特殊標(biāo)記符,因此,如果某個(gè)像素的取值為0XFF,那么實(shí)際在保存的時(shí)候,是以0XFF00來保存的,從而避免其跟特殊標(biāo)記符0XFF之間產(chǎn)生混淆。因此,如果需要的話,請(qǐng)?jiān)谔幚碇g進(jìn)行依次高低字節(jié)的轉(zhuǎn)換。對(duì)于一個(gè)Huffman表而言,它包含了以下三部分內(nèi)容:表ID和表類型;1個(gè)字節(jié);僅有4個(gè)可選的取值,0X00,0X01,0X10,0X11,分別表示DC直流0號(hào)表,DC直流1號(hào)表,AC交流0號(hào)表,AC交流1號(hào)表;不同位數(shù)的碼字?jǐn)?shù)量;前面提到,JPEG中的Huffman編碼表是按照編碼長度的位數(shù)以表格的形式保存的,而且,Huffman編碼表的位數(shù)只能是116位,因此,這里用16個(gè)字節(jié)來分別表示116位的每種位長的編碼在Huffman樹中的個(gè)數(shù)。這里,我們不妨以下面一段Huffman表的數(shù)據(jù)為例來說明情況(均以16進(jìn)制表示):11 00 02 02 00 05 01 06 01 00 00 00 00 00 00 00 0000 01 11 02 21 03 31 41 12 51 61 71 81 91 22 13 32以上數(shù)據(jù)串中第一行代表了Huffman表ID、表類型、不同位數(shù)的碼字?jǐn)?shù)量信息;第一行的第一個(gè)字節(jié)0X11代表了表的ID和類型是AC交流1號(hào)表;第一行的第2到第17字節(jié)代表了不同位數(shù)碼字的數(shù)量。此外,通過這些數(shù)據(jù)我們發(fā)現(xiàn),此Huffman樹有0+2+2+0+5+1+6+1=17個(gè)葉子節(jié)點(diǎn)。其具體規(guī)則如下 (a)第一個(gè)編碼的數(shù)字必定為0;如果第一個(gè)編碼的位數(shù)為1,就被編碼為0;如果第一個(gè)編碼的位數(shù)為2,就被編碼為00;如果第一個(gè)編碼的位數(shù)為3,就被編碼為000。還是以上面的數(shù)據(jù)為例:第一行的第2個(gè)字節(jié)00表示沒有位數(shù)為1的編碼;第一行的第3個(gè)字節(jié)02表示位數(shù)為2的編碼有2個(gè);由于沒有位數(shù)為1的編碼,因此這里位數(shù)為2的編碼中的第一個(gè)為00,第二個(gè)為00+1=01;第一行的第4個(gè)字節(jié)02表示位數(shù)為3的編碼有2個(gè);因此,這里位數(shù)為3的編碼中的第一個(gè)為01+1=10,然后添加1個(gè)“0”,得到100;位數(shù)為3的編碼中的第二個(gè)為100+1=101;以此類推。DC系數(shù)是以(A,B)的中間形式進(jìn)行編碼的。另外,8*8的圖像塊經(jīng)過DCT變換之后得到的8*8的系數(shù)矩陣,經(jīng)過Huffman編碼及RLE編碼之后,寫入編碼數(shù)據(jù)的時(shí)候,DC系數(shù)也是被寫在數(shù)據(jù)流最前面的。其中的第一個(gè)字節(jié)代表了DC系數(shù)的Huffman編碼,通過查找DC系數(shù)的Huffman表(亮度表或色度表),得到該Huffman編碼所在的組編號(hào),該編號(hào)就是DC系數(shù)中間格式(A,B)中的A,也就是B的位數(shù)。這樣一來,讀取接下來的A位二進(jìn)制數(shù),將其譯碼為十進(jìn)制,就得到了DC系數(shù)的差值。處理完DC系數(shù)之后,接下來進(jìn)行AC系數(shù)的譯碼工作,顯然,這里依然需要讀取一個(gè)Huffman編碼,通過查找AC系數(shù)的Huffman編碼表,進(jìn)行解碼,我們得到(A,B)的數(shù)據(jù)對(duì),其中的A代表了0的個(gè)數(shù),而B則代表了后面數(shù)據(jù)的位數(shù)。需要提醒的是,(0,0)代表EOB,即8*8塊的編碼結(jié)束。如此反復(fù)循環(huán),直到遇到EOB,或者讀取了63個(gè)AC系數(shù),我們就完成了一個(gè)8*8塊的系數(shù)矩陣的譯碼工作。該步驟,就是將前一個(gè)步驟得到的8*8系數(shù)矩陣分別乘以8*8的量化矩陣即可。反Zigzag掃描的輸入時(shí)8*8矩陣,輸出依然是8*8矩陣,只不過,數(shù)據(jù)的排列方式有所不同而已。DCT逆變換的計(jì)算公式為:DCT逆變換的公式,可以改寫為:f=AτFA 其中A為矩陣: 對(duì)上面的公式進(jìn)行變形Y =FAf =AT YfT =(AT Y)T =YT A其中F為數(shù)據(jù)塊。注意A矩陣在乘法的右邊。每輸入一行數(shù)據(jù)就分別和A矩陣的每一列進(jìn)行乘加運(yùn)算,每完成一次這樣的乘加運(yùn)算就輸出一次結(jié)果。所以經(jīng)過第一次矩陣乘法之后得到的是Y矩陣。BMP圖片是以RGB顏色空間進(jìn)行保存的,因此,將JPEG解碼為BMP必須進(jìn)行顏色模式的轉(zhuǎn)換。因此,解碼的時(shí)候,必須為每個(gè)顏色分量加上128。3. 基于MATLAB的算法實(shí)現(xiàn) JPEG壓縮設(shè)計(jì)開 始輸入一幅原始圖像根據(jù)量化表,對(duì)變換系數(shù)進(jìn)行量化分成8*8像素塊,分別做DCT變換對(duì)經(jīng)掃描得到的DC和AC系數(shù)分別進(jìn)行Huffman熵編碼得到整個(gè)圖像編碼后的比特序列,并計(jì)算壓縮比特率對(duì)DC和AC系數(shù)分別進(jìn)行Huffman熵編碼結(jié) 束對(duì)量化后的變化系數(shù)進(jìn)行Zig—Zag掃描簡單說明:要將一幅彩色圖像進(jìn)行壓縮編碼,首先將圖像RGB 分量轉(zhuǎn)化為亮度分量和色差分量,然后將圖像分成88的象素塊,用正向二維DCT 把每個(gè)塊轉(zhuǎn)變成64 個(gè)DCT 系數(shù)值,其中1 個(gè)數(shù)值是直流(DC)系數(shù),即88 空域圖像子塊的平均值,其余的63 個(gè)是交流(AC)系數(shù),接下來對(duì)DCT 系數(shù)進(jìn)行ZigZag 掃描和Huffman 編碼,實(shí)現(xiàn)了圖像壓縮。 在MATLAB中,可以調(diào)用image函數(shù)來顯示圖像,其語法格式為: Image(C)image是用來顯示附標(biāo)圖像,即顯示的圖像上有x、y坐標(biāo)軸的顯示,可以看到圖像的像素大小。 這個(gè)步驟除掉了一些高頻量, 損失了很高細(xì)節(jié)。所以處理后的視覺損失很小。 大量的圖象信息被包含在低空間頻率中。 Z掃描系統(tǒng)設(shè)計(jì)開 始產(chǎn)生順序遞增地址數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)器是否寫滿一個(gè)數(shù)據(jù)塊?掃描地址表輸出符合ZigZag順序的地址數(shù)據(jù)按掃描順序輸出數(shù)據(jù)結(jié) 束NY矢量中有許多連續(xù)的 0,可以使用 RLE 來壓縮掉這些 0。 (0,45) 。 (1,30) 。 (2,1) 。 霍夫曼編碼設(shè)計(jì)開 始結(jié) 束裝入Huffman數(shù)據(jù)使左分支編碼為1,右分支編碼為0將消息添加到隊(duì)列的最后為N1消息重新進(jìn)行排列做準(zhǔn) 備遍歷至原始消息,即葉子節(jié)點(diǎn),輸出讀碼字分別遍歷左右分支節(jié)點(diǎn)獲得Huffman碼字將最后兩個(gè)出現(xiàn)概率最小的消息合成一個(gè)消息將N個(gè)消息進(jìn)行排序初始化原始消息數(shù)排序列表初始化碼字初始化為0cd=blanks(260)。c=i。while(p0)if(ht(p).lch==c)cd(start)=39。Else cd(start)=39。end c=p。start=start1。通過本次仿真,我們可以發(fā)現(xiàn)JPEG壓縮編碼在對(duì)靜態(tài)圖像處理中的表現(xiàn)非常優(yōu)秀,這也正是JPEG之所以具有強(qiáng)大生命力的原因所在。該程序的編碼部分能把一張BMP格式的圖象進(jìn)行JEPG編碼,壓縮成以二進(jìn)制形式保存的文件。DCT是正交變換,它可以將8*8圖像的空間表達(dá)式轉(zhuǎn)換為頻率域,只需要用少量的數(shù)據(jù)點(diǎn)表示圖像;DCT產(chǎn)生的系數(shù)很容易被量化,因此能獲得好的塊壓縮;DCT算法的性能很好,它有快速算法,因此它在軟件中容易實(shí)現(xiàn);而且DCT算法是對(duì)稱的,所以利用逆DCT算法可以用來解壓縮圖像。2)很好地實(shí)現(xiàn)了理論知識(shí)與實(shí)踐的結(jié)合。同時(shí)對(duì)所學(xué)的理論知識(shí)也有了更深刻、更系統(tǒng)的了解。3)通過這次課程設(shè)計(jì),很好的領(lǐng)會(huì)了程序設(shè)計(jì)的思想。通過學(xué)習(xí)和交流,看到了別人的優(yōu)點(diǎn),也發(fā)現(xiàn)了自己的不足,以后要進(jìn)一步完善自己,總的說來,通過這次課程設(shè)計(jì)鍛煉了自己查閱資料、閱讀和使用軟件的能力,對(duì)各種軟件的應(yīng)用和操作能力,以及編程能力。6. 參考文獻(xiàn)[1] [M].. 10[2] :基礎(chǔ)理論與應(yīng)用[M].[3] 劉瑋,王紅星. 圖像的無損壓縮編碼方法及JPEG標(biāo)準(zhǔn)模式[J]. [4] 嚴(yán)劍. 離散余弦變換在圖像壓縮中的應(yīng)用[J]. 計(jì)算機(jī)與現(xiàn)代化. 1996, 4[5] [J]. 電視技術(shù). [6] 于曉宇,傅志中,唐學(xué)怡. JPEG標(biāo)準(zhǔn)下圖像壓縮算法的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)與現(xiàn)代化. 1996, 4[7] . JPEG圖像壓縮編碼及其MATLAB仿真實(shí)現(xiàn)[J]. [8] [M].[9] 邱磊. JPEG算法研究及實(shí)現(xiàn)[J]. Computer Era 2009 [10] 陳思思,王耀楠. 基于DSP的JPEG圖像壓縮編碼的實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制. 附錄1%*****************圖像顏色空間變換************
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1