dcencode.asv

来自「用离散余弦变换实现JPEG编码」· ASV 代码 · 共 37 行

ASV
37
字号
%jpeg直流系数HUFFMAN编码function b = dcencode(x)% x == 0 的特殊情况编码if x == 0   b = [0 0];   return else   %数值范围分类   c = floor(log2(abs(x)))+1;end% Hoffman tabletbl = [2 0 0 0 0 0 0 0 0 0       3 0 1 0 0 0 0 0 0 0       3 0 1 1 0 0 0 0 0 0       3 1 0 0 0 0 0 0 0 0       3 1 0 1 0 0 0 0 0 0       3 1 1 0 0 0 0 0 0 0       4 1 1 1 0 0 0 0 0 0       5 1 1 1 1 0 0 0 0 0       6 1 1 1 1 1 0 0 0 0       7 1 1 1 1 1 1 0 0 0       8 1 1 1 1 1 1 1 0 0       9 1 1 1 1 1 1 1 1 0]; b = tbl(c+1,2:tbl(c+1,1)+1);tmp=int2bin(x,c);  % tmp is 1 by c+1 vector containing sign-mag% representation of x, first bit is sign bit.if tmp(1)==0, % if x > 0   b=[b tmp(2:c+1)];elseif tmp(1)==1, % if x < 0   b=[b ones(1,c)-tmp(2:c+1)];end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?