function b=tobdel(x)
%function b=jacenc(x)
% Usage: b=jacenc(x)
% JPEG AC coefficient encoding routine
% x: AC coefficient sequence
% b: corresponding bit stream
%
%
%
%
%clear
%clc
% run - category - length - bsae code length - base code
table=[...
0 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 2 4 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 3 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 4 8 4 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 5 10 5 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 6 12 6 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 7 14 7 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 8 18 10 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0
0 9 25 16 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0
0 10 26 16 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1
1 1 5 4 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2 8 6 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0
1 3 10 7 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0
1 4 13 9 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0
1 5 16 11 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0
1 6 22 16 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0
1 7 23 16 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1
1 8 24 16 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0
1 9 25 16 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1
1 10 26 16 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0
2 1 6 5 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
2 2 10 8 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
2 3 13 10 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0
2 4 20 16 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1
2 5 21 16 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 0
2 6 22 16 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1
2 7 23 16 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0
2 8 24 16 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1
2 9 25 16 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0
2 10 26 16 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
3 1 7 6 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
3 2 11 9 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0
3 3 14 11 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0
3 4 20 16 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0
3 5 21 16 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1
3 6 22 16 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0
3 7 23 16 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1
3 8 24 16 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0
3 9 25 16 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1
3 10 26 16 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0
4 1 7 6 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
4 2 12 10 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
4 3 19 16 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1
4 4 20 16 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0
4 5 21 16 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1
4 6 22 16 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0
4 7 23 16 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1
4 8 24 16 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0
4 9 25 16 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1
4 10 26 16 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0
5 1 8 7 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0
5 2 12 10 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0
5 3 19 16 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1
5 4 20 16 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0
5 5 21 16 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1
5 6 22 16 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0
5 7 23 16 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1
5 8 24 16 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0
5 9 25 16 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1
5 10 26 16 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0
6 1 8 7 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0
6 2 13 11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
6 3 19 16 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1
6 4 20 16 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0
6 5 21 16 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1
6 6 22 16 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0
6 7 23 16 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1
6 8 24 16 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0
6 9 25 16 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1
6 10 26 16 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0
7 1 9 8 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0
7 2 13 11 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0
7 3 19 16 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1
7 4 20 16 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0
7 5 21 16 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
7 6 22 16 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0
7 7 23 16 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1
7 8 24 16 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0
7 9 25 16 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1
7 10 26 16 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0
8 1 9 8 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0
8 2 17 15 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
8 3 19 16 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1
8 4 20 16 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0
8 5 21 16 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1
8 6 22 16 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0
8 7 23 16 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1
8 8 24 16 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0
8 9 25 16 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1
8 10 26 16 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0
9 1 10 9 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
9 2 18 16 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
9 3 19 16 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
9 4 20 16 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1
9 5 21 16 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0
9 6 22 16 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1
9 7 23 16 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0
9 8 24 16 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1
9 9 25 16 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0
9 10 26 16 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
10 1 10 9 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0
10 2 18 16 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0
10 3 19 16 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1
10 4 20 16 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0
10 5 21 16 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1
10 6 22 16 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0
10 7 23 16 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1
10 8 24 16 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0
10 9 25 16 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1
10 10 26 16 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0
11 1 10 9 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0
11 2 18 16 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
11 3 19 16 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0
11 4 20 16 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1
11 5 21 16 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0
11 6 22 16 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1
11 7 23 16 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0
11 8 24 16 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1
11 9 25 16 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0
11 10 26 16 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1
12 1 11 10 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0
12 2 18 16 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0
12 3 19 16 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1
12 4 20 16 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0
12 5 21 16 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1
12 6 22 16 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0
12 7 23 16 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
12 8 24 16 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
12 9 25 16 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
12 10 26 16 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0
13 1 12 11 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0
13 2 18 16 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1
13 3 19 16 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0
13 4 20 16 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1
13 5 21 16 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0
13 6 22 16 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1
13 7 23 16 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0
13 8 24 16 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1
13 9 25 16 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0
13 10 26 16 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1
14 1 13 12 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0
14 2 18 16 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0
14 3 19 16 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1
14 4 20 16 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0
14 5 21 16 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
14 6 22 16 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
14 7 23 16 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
14 8 24 16 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
14 9 25 16 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
14 10 26 16 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0
15 1 17 16 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1
15 2 18 16 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0
15 3 19 16 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
15 4 20 16 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
15 5 21 16 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
15 6 22 16 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0
15 7 23 16 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
15 8 24 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
15 9 25 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
15 10 26 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 0 4 4 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 12 12 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0];
%x=[9 zeros(1,16) 9];
b=[];
ix = find(x~=0); % index of next non-zero entry
Nx = length(ix); % # of non-zero entries
% Code added by Ravi Lakkundi
if ix(1)~=1 & length(x)~=1
run=ix(1)-1;
tmp=int2bin(x(ix(1)));
cat=length(tmp)-1;
评论1