資源簡介
MATLAB課程設(shè)計,關(guān)于JPEG壓縮編碼的應用。基于Matlab的JPEG圖像壓縮編碼的仿真,編程實現(xiàn)JPEG壓縮算法,JPEG標準是靜態(tài)圖像的壓縮編碼和譯碼標準。它包括兩種基本的壓縮算法,一種是基于DCT離散余弦變換的有損壓縮算法,另一種是基于預測方法的無損壓縮算法。

代碼片段和文件信息
function?bit_seq=ACHuffmanEncoding(xy)?
%%*******************************************************************?
%%?對掃描后每塊的AC系數(shù)進行Huffman編碼Revised?in?Jun2006
%%?x為zigzag掃描連0串中0的個數(shù);y為連0串后非0值的幅度
%%?即分別為(runlevel)中的runlevel
%%*******************************************************************
%%*************************************?AC?Huffman?Code?Look?up?************************************%%
%%?Z為連0串中0的個數(shù),R為幅度的絕對值
%%?第一個符號的編碼:accode為對二維事件(runlevel)的編碼結(jié)果,codelen為編碼的碼長
%%?對第二個符號的編碼:
%%?若level?>?0,則用其二進制原碼表示,若level?0,則用其二進制反碼表示,amplen為表示幅度所需的bit數(shù)
%%**************************************************************************************************%%
Z=x;
v0=y;
R=abs(y);
if?R==1;amplen=1;
elseif(R?>=???2?&&?R?<=????3);amplen?=?2;
elseif(R?>=???4?&&?R?<=????7);amplen?=?3;
elseif(R?>=???8?&&?R?<=???15);amplen?=?4;
elseif(R?>=??16?&&?R?<=???31);amplen?=?5;
elseif(R?>=??32?&&?R?<=???63);amplen?=?6;
elseif(R?>=??64?&&?R?<=??127);amplen?=?7;
elseif(R?>=?128?&&?R?<=??255);amplen?=?8;
elseif(R?>=?256?&&?R?<=??511);amplen?=?9;
elseif(R?>=?512?&&?R?<=?1023);amplen?=?10;
end?
?%%(Z==0?&&?amplen==0);codelen=4;accode=10;%%accode=0xA;%%accode=1010;(EOB)
if?(Z==0?&&?amplen==1);?codelen=2;accode=0;%%accode=0x0;%%accode=00;
elseif??(Z==0?&&?amplen==2);codelen=2;accode=1;%%accode=0x1;%%accode=01;
elseif??(Z==0?&&?amplen==3);codelen=3;accode=4;%%accode=0x4;%%accode=100;
elseif??(Z==0?&&?amplen==4);codelen=4;accode=11;%%accode=0xB;%%accode=1011;
elseif??(Z==0?&&?amplen==5);codelen=5;accode=26;%%accode=0x1A;%%accode=1?1010;
elseif??(Z==0?&&?amplen==6);codelen=7;accode=120;%%accode=0x78;%%accode=111?1000;
elseif??(Z==0?&&?amplen==7);codelen=8;accode=248;%%accode=0xF8;%%accode=1111?1000;
elseif??(Z==0?&&?amplen==8);codelen=10;accode=1014;%%accode=0x3F6;%%accode=11?1111?0110;??
elseif??(Z==0?&&?amplen==9);codelen=16;accode=65410;%%accode=0xFF82;%%accode=1111?1111?1000?0010;
elseif?(Z==0?&&?amplen==10);codelen=16;accode=65411;%%accode=0xFF83;%%accode=1111?1111?1000?0011;
????
elseif??(Z==1?&&?amplen==1);?codelen=4;accode=12;???%%accode=1100;
elseif??(Z==1?&&?amplen==2);?codelen=5;accode=27;???%%accode=1?1011;
elseif??(Z==1?&&?amplen==3);?codelen=7;accode=121;??%%accode=1111?001;
elseif??(Z==1?&&?amplen==4);?codelen=9;accode=502;??%%accode=1?1111?0110;
elseif??(Z==1?&&?amplen==5);codelen=11;accode=2038;?%%accode=111?1111?0110;
elseif??(Z==1?&&?amplen==6);codelen=16;accode=65412;%%accode=1111?1111?1000?0100;
elseif??(Z==1?&&?amplen==7);codelen=16;accode=65413;%%accode=1111?1111?1000?0101;
elseif??(Z==1?&&?amplen==8);codelen=16;accode=65414;%%accode=1111?1111?1000?0110;??
elseif??(Z==1?&&?amplen==9);codelen=16;accode=65415;%%accode=1111?1111?1000?0111;
elseif?(Z==1?&&?amplen==10);codelen=16;accode=65416;%%accode=1111?1111?1000?1000;
????
elseif?(Z==2?&&?amplen==1);codelen=5;accode=28;%%accode=1?1100;
elseif?(Z==2?&&?amplen==2);codelen=8;accode=249;%%accode=1111?1001;
elseif?(Z==2?&&?amplen==3);codelen=10;accode=1015;%%a
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15043??2018-05-28?10:00??JPEG-for-Matlab\ACHuffmanEncoding.m
?????文件???????3534??2018-05-28?10:45??JPEG-for-Matlab\DCHuffmanEncoding.m
?????文件???????8286??2018-05-28?10:39??JPEG-for-Matlab\func_DCTJPEG.m
?????文件?????263224??2011-05-13?14:39??JPEG-for-Matlab\lena.bmp
?????文件????????312??2009-12-26?19:33??JPEG-for-Matlab\PSNR.m
?????文件???????1193??2009-12-26?19:33??JPEG-for-Matlab\zigzag.m
?????目錄??????????0??2018-05-28?10:16??JPEG-for-Matlab
-----------?---------??----------?-----??----
???????????????291592????????????????????7
- 上一篇:插值法圖像超分辨率重建
- 下一篇:LMS/RLS/LSL性能比較
評論
共有 條評論