資源簡(jiǎn)介
matlab 版的jpeg codec,方便做算法的朋友debug.

代碼片段和文件信息
function?acCodeOut=AcCode(zScanOut)
%交流系數(shù)編碼
%完成一個(gè)塊的交流編碼
%輸入z形掃描結(jié)果,輸出碼流
N=8;
num=N*N+1;i=N*N;
b=cell(1N*N);
%b{j}O包括兩個(gè)部分,b{j}(1)表示連零個(gè)數(shù),b{j}{2}表示幅度
%游程編碼開(kāi)始
while(i>1)%確定EOB前系數(shù)的長(zhǎng)度?%?后面連續(xù)0不編碼
????if(zScanOut(i)==0)
????????num=num-1;
????????i=i-1;
????else
????????break;
????end
end
i=2;
j=1;
while(i ????zeroNum=0;
????while(zScanOut(i)==0)%確定連零個(gè)數(shù)
????????zeroNum=zeroNum+1;
????????i=i+1;
????????if(zeroNum==16)
????????????b{j}=[15?0];
????????????j=j+1;
????????????zeroNum=0;
????????end
????end
????b{j}=[zeroNum?zScanOut(i)];%b{j}(1)表示連零個(gè)數(shù),b{j}{2}表示幅度
????j=j+1;
????i=i+1;
end
b{j}=[0?0];%EOB塊編碼
%游程編碼完畢
binacRange?=?cell(11);?%幅度值二進(jìn)制編碼
forHuf?????=?cell(11);?%Hufman編碼的輸入?yún)?shù),每個(gè)元素包括兩個(gè)部分:游程長(zhǎng)度和binacRange長(zhǎng)度
hufCodeOut?=?cell(11);
out????????=?cell(11);
for?i=1:j
????binacRange{i}=dec2bin(abs(b{i}(2)));
????binacRange{i}=binacRange{i}-48;
????if(b{i}(2)<0)
????????binacRange{i}=~binacRange{i};
????end
????
????acBits(i)=length(binacRange{i});%binacRange長(zhǎng)度
????if(b{i}(2)==0)?
????????acBits(i)=0;
????end
????forHuf{i}=[b{i}(1)?acBits(i)];%forHuf為“行程/尺寸“
end
for?i=1:j
????hufCodeOut{i}?=?YAcHufCode(forHuf{i});%“行程/尺寸的霍夫曼碼
????out{i}????????=?[hufCodeOut{i}?binacRange{i}];%碼包括兩部分,即行程/尺寸的霍夫曼碼和幅度值編碼
????if(b{i}(2)==0)
????????out{i}=hufCodeOut{i};?%幅度為0,則其編碼長(zhǎng)度為0?%寫(xiě)?EOB?1010
????end
end
acCodeOut=out{1};
for?i=2:j
????acCodeOut=[acCodeOut?out{i}];
end
????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1639??2013-02-28?11:24??Jpeg_CoDec\AcCode.m
?????文件????????604??2013-02-26?17:06??Jpeg_CoDec\antiQuanY.m
?????文件???????1108??2013-02-26?17:06??Jpeg_CoDec\antiZscan.m
?????文件???????1088??2013-02-27?15:16??Jpeg_CoDec\debug_jpeg_codec.m
?????文件????????645??2013-02-28?13:55??Jpeg_CoDec\Gr_CoDec.m
?????文件????????949??2013-02-28?14:10??Jpeg_CoDec\Jpeg_Encode.m
?????文件????????139??2013-02-27?14:58??Jpeg_CoDec\main.m
?????文件???????1733??2013-02-27?13:39??Jpeg_CoDec\MakeTree.m
?????文件????????612??2013-02-26?17:06??Jpeg_CoDec\QuantyY.m
?????文件???????3411??2013-02-26?17:06??Jpeg_CoDec\smooth7x7_intp.asv
?????文件???????5560??2013-03-01?09:37??Jpeg_CoDec\UnCode.m
?????文件???????1021??2013-02-27?13:47??Jpeg_CoDec\UnHufCode.m
?????文件????????204??2013-02-28?10:06??Jpeg_CoDec\Unti
?????文件??????12839??2013-02-27?13:50??Jpeg_CoDec\varable.m
?????文件??????14166??2013-02-27?11:22??Jpeg_CoDec\YAcHufCode.m
?????文件???????1197??2013-02-28?09:19??Jpeg_CoDec\YCode.m
?????文件????????951??2013-02-28?09:20??Jpeg_CoDec\YDcCode.m
?????文件???????1275??2013-02-26?17:06??Jpeg_CoDec\yuv422rgb.m
?????文件???????1005??2013-02-26?17:06??Jpeg_CoDec\ZScan.m
?????目錄??????????0??2014-11-24?17:46??Jpeg_CoDec
-----------?---------??----------?-----??----
????????????????50146????????????????????20
評(píng)論
共有 條評(píng)論