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

正文內(nèi)容

多媒體通信畢業(yè)設(shè)計論文(編輯修改稿)

2025-07-15 12:54 本頁面
 

【文章內(nèi)容簡介】 和表類型;1個字節(jié);僅有4個可選的取值,0X00,0X01,0X10,0X11,分別表示DC直流0號表,DC直流1號表,AC交流0號表,AC交流1號表;不同位數(shù)的碼字?jǐn)?shù)量;前面提到,JPEG中的Huffman編碼表是按照編碼長度的位數(shù)以表格的形式保存的,而且,Huffman編碼表的位數(shù)只能是116位,因此,這里用16個字節(jié)來分別表示116位的每種位長的編碼在Huffman樹中的個數(shù)。編碼內(nèi)容;該字段記錄了Huffman樹中各個葉子節(jié)點(diǎn)的權(quán)重,上一個字段(不同位數(shù)的碼字?jǐn)?shù)量)的16個數(shù)值之和,就是本字段的長度,也就是Huffman樹中葉子節(jié)點(diǎn)的個數(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ù)量信息;第一行的第一個字節(jié)0X11代表了表的ID和類型是AC交流1號表;第一行的第2到第17字節(jié)代表了不同位數(shù)碼字的數(shù)量。即,第2個字節(jié)00表示沒有位數(shù)為1的編碼;第3個和第4個字節(jié)的02表示位數(shù)為2和位數(shù)為3的編碼各有兩個;第5個字節(jié)的00表示沒有位數(shù)為5的編碼。此外,通過這些數(shù)據(jù)我們發(fā)現(xiàn),此Huffman樹有0+2+2+0+5+1+6+1=17個葉子節(jié)點(diǎn)。第二行為編碼的內(nèi)容,表明17個葉子節(jié)點(diǎn)按照從小到大的順序排列,即,權(quán)值依次為0,1,11,2,21,3,31,41...讀取到Huffman表的數(shù)據(jù)之后,就需要構(gòu)建Huffman樹了。其具體規(guī)則如下 (a)第一個編碼的數(shù)字必定為0;如果第一個編碼的位數(shù)為1,就被編碼為0;如果第一個編碼的位數(shù)為2,就被編碼為00;如果第一個編碼的位數(shù)為3,就被編碼為000。 (b)從第二個編碼開始,如果它和它前面編碼具有相同的位數(shù),則當(dāng)前編碼是它前面的編碼加1;如果它的編碼位數(shù)比它前面的編碼位數(shù)大,則當(dāng)前編碼時它前面的編碼加1之后再在后面添加若干個0,直到滿足編碼位數(shù)的長度為止。還是以上面的數(shù)據(jù)為例:第一行的第2個字節(jié)00表示沒有位數(shù)為1的編碼;第一行的第3個字節(jié)02表示位數(shù)為2的編碼有2個;由于沒有位數(shù)為1的編碼,因此這里位數(shù)為2的編碼中的第一個為00,第二個為00+1=01;第一行的第4個字節(jié)02表示位數(shù)為3的編碼有2個;因此,這里位數(shù)為3的編碼中的第一個為01+1=10,然后添加1個“0”,得到100;位數(shù)為3的編碼中的第二個為100+1=101;以此類推。特別提醒的是,如果中間有某個位數(shù)的編碼缺失,例如,沒有4位的編碼,則應(yīng)該在3位的編碼后面加1,添加2個“00”補(bǔ)足5位,形成下一個5位編碼。DC系數(shù)是以(A,B)的中間形式進(jìn)行編碼的。其中的A代表了B的二進(jìn)制編碼位數(shù),B則利用VLI進(jìn)行編碼。另外,8*8的圖像塊經(jīng)過DCT變換之后得到的8*8的系數(shù)矩陣,經(jīng)過Huffman編碼及RLE編碼之后,寫入編碼數(shù)據(jù)的時候,DC系數(shù)也是被寫在數(shù)據(jù)流最前面的。因此,解碼的時候,DC系數(shù)也是最先被讀取出來,假設(shè),我們一次性讀入了若干個字節(jié)長度的數(shù)據(jù)。其中的第一個字節(jié)代表了DC系數(shù)的Huffman編碼,通過查找DC系數(shù)的Huffman表(亮度表或色度表),得到該Huffman編碼所在的組編號,該編號就是DC系數(shù)中間格式(A,B)中的A,也就是B的位數(shù)。例如,A=2,就代表B采用2位二進(jìn)制數(shù)進(jìn)行編碼。這樣一來,讀取接下來的A位二進(jìn)制數(shù),將其譯碼為十進(jìn)制,就得到了DC系數(shù)的差值。將該差值與上一個DC系數(shù)值相加,就得到了真正的當(dāng)前DC系數(shù)的值。處理完DC系數(shù)之后,接下來進(jìn)行AC系數(shù)的譯碼工作,顯然,這里依然需要讀取一個Huffman編碼,通過查找AC系數(shù)的Huffman編碼表,進(jìn)行解碼,我們得到(A,B)的數(shù)據(jù)對,其中的A代表了0的個數(shù),而B則代表了后面數(shù)據(jù)的位數(shù)。例如,(2,3)就代表了當(dāng)前AC系數(shù)之前有2個0,下一個需要讀取的二進(jìn)制數(shù)據(jù)是3位。需要提醒的是,(0,0)代表EOB,即8*8塊的編碼結(jié)束。接著,讀取B位二進(jìn)制數(shù)據(jù),進(jìn)行譯碼,我們就得到了AC系數(shù)的值。如此反復(fù)循環(huán),直到遇到EOB,或者讀取了63個AC系數(shù),我們就完成了一個8*8塊的系數(shù)矩陣的譯碼工作。 反Zigzag掃描 DCT逆變換在譯碼得到了8*8的系數(shù)矩陣之后,我們需要進(jìn)行反量化工作。該步驟,就是將前一個步驟得到的8*8系數(shù)矩陣分別乘以8*8的量化矩陣即可。JPEG編碼過程中,為了編碼方便,采用了Zigzag掃描,因此,這里需要進(jìn)行反Zigzag掃描,重新排列8*8的反量化系數(shù)矩陣。反Zigzag掃描的輸入時8*8矩陣,輸出依然是8*8矩陣,只不過,數(shù)據(jù)的排列方式有所不同而已。DCT變換,將原始圖像變換到頻域,而DCT逆變換,就是要將數(shù)據(jù)從頻域變換回時域。DCT逆變換的計算公式為:DCT逆變換的公式,可以改寫為:f=AτFA 其中A為矩陣: 對上面的公式進(jìn)行變形Y =FAf =AT YfT =(AT Y)T =YT A其中F為數(shù)據(jù)塊。經(jīng)分析可知,完成一次DCT逆變換需要4步:1:壓縮數(shù)據(jù)塊(88)F矩陣與矩陣A(88)相乘,得到矩陣Y(88);2:對矩陣Y進(jìn)行轉(zhuǎn)秩得到(88)YT3:YT再與矩陣A相乘得到88的矩陣ft 4:對ft 進(jìn)行轉(zhuǎn)秩得到f,這里的f即為經(jīng)過DCT逆變換之后得到的時域的原始圖像; DCT逆變換的流程圖如下所示:圖25 DCT逆變換 A矩陣乘法器的作用是實(shí)現(xiàn)輸入矩陣和A矩陣的相乘。注意A矩陣在乘法的右邊。 iDCT變換的對象是8 8的數(shù)據(jù)單元,既輸入數(shù)據(jù)共64個,按行輸入,每8個數(shù)據(jù)為一行。每輸入一行數(shù)據(jù)就分別和A矩陣的每一列進(jìn)行乘加運(yùn)算,每完成一次這樣的乘加運(yùn)算就輸出一次結(jié)果。比如,輸入第一行數(shù)據(jù),分別和A矩陣的各列相乘,按順序輸出8個結(jié)果,這8個結(jié)果就是輸出矩陣的第一行;當(dāng)輸入第二行數(shù)據(jù)時,同樣輸出8個結(jié)果,這8個結(jié)果是輸出矩陣的第二行。所以經(jīng)過第一次矩陣乘法之后得到的是Y矩陣。 轉(zhuǎn)秩就是對64個數(shù)據(jù)進(jìn)行重新排列,例如,對于矩陣M而言,將其第一行第二列的數(shù)據(jù)M(1,2)跟其第一列第二行的數(shù)據(jù)M(2,1)進(jìn)行互換,如下表所示:左邊為未轉(zhuǎn)秩的數(shù)據(jù)順序,右邊為轉(zhuǎn)秩之后的數(shù)據(jù)順序。BMP圖片是以RGB顏色空間進(jìn)行保存的,因此,將JPEG解碼為BMP必須進(jìn)行顏色模式的轉(zhuǎn)換。另外,由于DCT要求的定義域?qū)ΨQ,所以,在編碼的時候?qū)GB的數(shù)值范圍從[0,255]統(tǒng)一減去128,將數(shù)值范圍轉(zhuǎn)換到[128,127]的范圍內(nèi)。因此,解碼的時候,必須為每個顏色分量加上128。另外需要注意的是,通過解碼變換之后得到的RGB的值有可能超過255或者小于0;如果小于0,就截斷為0,如果大于255,就截取為255。3. 基于MATLAB的算法實(shí)現(xiàn) JPEG壓縮設(shè)計開 始輸入一幅原始圖像根據(jù)量化表,對變換系數(shù)進(jìn)行量化分成8*8像素塊,分別做DCT變換對經(jīng)掃描得到的DC和AC系數(shù)分別進(jìn)行Huffman熵編碼得到整個圖像編碼后的比特序列,并計算壓縮比特率對DC和AC系數(shù)分別進(jìn)行Huffman熵編碼結(jié) 束對量化后的變化系數(shù)進(jìn)行Zig—Zag掃描簡單說明:要將一幅彩色圖像進(jìn)行壓縮編碼,首先將圖像RGB 分量轉(zhuǎn)化為亮度分量和色差分量,然后將圖像分成88的象素塊,用正向二維DCT 把每個塊轉(zhuǎn)變成64 個DCT 系數(shù)值,其中1 個數(shù)值是直流(DC)系數(shù),即88 空域圖像子塊的平均值,其余的63 個是交流(AC)系數(shù),接下來對DCT 系數(shù)進(jìn)行ZigZag 掃描和Huffman 編碼,實(shí)現(xiàn)了圖像壓縮。開 始載入原始圖像是YUV??RGBYUV設(shè)置壓縮比設(shè)置原始圖像已對原始圖像進(jìn)行8*8分塊?對圖像進(jìn)行分塊顯示壓縮后的圖像進(jìn)行DCT反變換重排系數(shù)塊設(shè)置壓縮比保留系數(shù)求出DCT系數(shù)的排列矩陣進(jìn)行DCT變換結(jié) 束NYYN此部分可分為三個過程:原始圖像的載入,顏色模式轉(zhuǎn)換及采樣以及DCT變換 量化程序設(shè)計開 始結(jié) 束計算矢量距離的子函數(shù)進(jìn)行分塊處理設(shè)置碼書的大小設(shè)置碼字的大小求出圖像像素的行數(shù)和列數(shù)裝入和顯示原始圖像圖像文件的顯示。 在MATLAB中,可以調(diào)用image函數(shù)來顯示圖像,其語法格式為: Image(C)image是用來顯示附標(biāo)圖像,即顯示的圖像上有x、y坐標(biāo)軸的顯示,可以看到圖像的像素大小。量化過程是控制 JPEG 壓縮比的關(guān)鍵。 這個步驟除掉了一些高頻量, 損失了很高細(xì)節(jié)。 但事實(shí)上人眼對高空間頻率遠(yuǎn)沒有低頻敏感。所以處理后的視覺損失很小。另一個重要原因是所有的圖片的點(diǎn)與點(diǎn)之間會有一個色彩過渡的過程。 大量的圖象信息被包含在低空間頻率中。 經(jīng)過量化處理后, 在高空間頻率段, 將出現(xiàn)大量連續(xù)的零。 Z掃描系統(tǒng)設(shè)計開 始產(chǎn)生順序遞增地址數(shù)據(jù)寫入數(shù)據(jù)存儲器是否寫滿一個數(shù)據(jù)塊?掃描地址表輸出符合ZigZag順序的地址數(shù)據(jù)按掃描順序輸出數(shù)據(jù)結(jié) 束NY矢量中有許多連續(xù)的 0,可以使用 RLE 來壓縮掉這些 0。假設(shè)有一組矢量(64 個的后 63 個,已按z字形掃描得到) 是57,45,0,0,0,0,23,0,30,16,0,0,1,0,0,0, 0 , 0 ,0 , 0,……,0經(jīng)過 RLC 壓縮后就是(0,57) 。 (0,45) 。 (4,23) 。 (1,30) 。 (0,16) 。 (2,1) 。 EOB,EOB 是一個結(jié)束標(biāo)記, 表示后面都是 0 了,用 (0,0) 表示 , 如果這組數(shù)字不以 0 結(jié)束, 那么就不需要 EOB。 霍夫曼編碼設(shè)計開 始結(jié) 束裝入Huffman數(shù)據(jù)使左分支編碼為1,右分支編碼為0將消息添加到隊列的最后為N1消息重新進(jìn)行排列做準(zhǔn) 備遍歷至原始消息,即葉子節(jié)點(diǎn),輸出讀碼字分別遍歷左右分支節(jié)點(diǎn)獲得Huffman碼字將最后兩個出現(xiàn)概率最小的消息合成一個消息將N個消息進(jìn)行排序初始化原始消息數(shù)排序列表初始化碼字初始化為0霍夫曼編碼部分:for i=1:numres{i}=blanks(260)。cd=blanks(260)。start=num。c=i。p=ht(c).pare。while(p0)if(ht(p).lch==c)cd(start)=39。039。Else cd(start)=39。139。end c=p。p=ht(c).pare。start=start1。end4. 仿真 5. 總結(jié)運(yùn)行JPEG仿真程序結(jié)果顯示,JPEG壓縮編碼對圖像數(shù)據(jù)確實(shí)可以做到大幅度的壓縮,而且壓縮后的圖片質(zhì)量尚可。通過本次仿真,我們可以發(fā)現(xiàn)JPEG壓縮編碼在對靜態(tài)圖像處理中的表現(xiàn)非常優(yōu)秀,這也正是JPEG之所以具有強(qiáng)大生命力的原因所在。本設(shè)計主要介紹了JPEG的編碼。該程序的編碼部分能把一張BMP格式的圖象進(jìn)行JEPG編碼,壓縮成以二進(jìn)制形式保存的文件。論文敘述的圖像壓縮編碼算法,采用了JPEG的核心離散余弦變換算法。DCT是正交變換,它可以將8*8圖像的空間表達(dá)式轉(zhuǎn)換為頻率域,只需要用少量的數(shù)據(jù)點(diǎn)表示圖像;DCT產(chǎn)生的系數(shù)很容易被量化,因此能獲得好的塊壓縮;DCT算法的性能很好,它有快速算法,因此它在軟件中容易實(shí)現(xiàn);而且DCT算法是對稱的,所以利用逆DCT算法可以用來解壓縮圖像。在這次課程設(shè)計的整個過程中,收獲主要有以下幾點(diǎn):1)開始編程前,一定要了解系統(tǒng)意圖,做好規(guī)劃。2)很好地實(shí)現(xiàn)了理論知識與實(shí)踐的結(jié)合。把以往所學(xué)的專業(yè)知識和編程思想應(yīng)用到了實(shí)際設(shè)計當(dāng)中,比較順利地解決了綜合設(shè)計中遇到的一些問題。同時對所學(xué)的理論知識也有了更深刻、更系統(tǒng)的了解。同時也增強(qiáng)了運(yùn)用所學(xué)知識解決實(shí)際問題的能力。3)通過這次課程設(shè)計,很好的領(lǐng)會了程序設(shè)計的思想。4)這次課程設(shè)計中,虛心向老師和其它同學(xué)請教,與其團(tuán)結(jié)協(xié)作,很好地培養(yǎng)了我的團(tuán)隊精神和協(xié)作能力。通過學(xué)習(xí)和交流,看到了別人的優(yōu)點(diǎn),也發(fā)現(xiàn)了自己的不足,以后要進(jìn)一步完善自己,總的說來,通過這次課程設(shè)計鍛煉了自己查閱資料、閱讀和使用軟件的能力,對各種軟件的應(yīng)用和操作能力,以及編程能力。確實(shí)學(xué)到不少知識,得到很好的鍛煉。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ī)與現(xiàn)代化. 1996, 4[5] [J]. 電視技術(shù). [6] 于曉宇,傅志中,唐學(xué)怡. JPEG標(biāo)準(zhǔn)下圖像壓縮算法的研究與實(shí)現(xiàn)[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ī)測量與控制. 附錄1%*****************圖像顏色空間變換*******************************%x=imread(39。D:\39。)。 figure(1)subplot(2,2,1)imshow(x)。title(39。原始圖像39。)。ycbcrx=rgb2ycbcr(x)a=ycbcrxsubplot(2,2,2)imshow(a,[])。title(39。ycbcr彩色空間39。)。yiqx=rgb2ntsc(x)b=yiqx。subplot(2,2,3)imshow(b,[])。title(39。ntsc彩色空間39。)x=double(x)。R=x(:,:,1)。G=x(:,:,2)。B=x(:
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1