• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: Matlab
  • 标签: matlab  jpeg  codec  

资源简介

matlab 版的jpeg codec,方便做算法的朋友debug.

资源截图

代码片段和文件信息

function acCodeOut=AcCode(zScanOut)
%交流系数编码
%完成一个块的交流编码
%输入z形扫描结果,输出码流
N=8;
num=N*N+1;i=N*N;
b=cell(1N*N);
%b{j}O包括两个部分,b{j}(1)表示连零个数,b{j}{2}表示幅度

%游程编码开始
while(i>1)%确定EOB前系数的长度 % 后面连续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)%确定连零个数
        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)表示连零个数,b{j}{2}表示幅度
    j=j+1;
    i=i+1;
end
b{j}=[0 0];%EOB块编码

%游程编码完毕

binacRange = cell(11); %幅度值二进制编码
forHuf     = cell(11); %Hufman编码的输入参数,每个元素包括两个部分:游程长度和binacRange长度
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长度
    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,则其编码长度为0 %写 EOB 1010
    end
end


acCodeOut=out{1};
for i=2:j
    acCodeOut=[acCodeOut out{i}];
end
    


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       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\Untitled.m

     文件      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


评论

共有 条评论