Databases Reference
In-Depth Information
of the dependence of various components, we actually have 144 possible configurations. We
also compute a quantity that incorporates the vertical and horizontal variations and the previous
error in prediction by
2 N
N
δ =
d h +
d v +
(8)
where N is the predicted value of N . This range of values of
is divided into four intervals,
each represented by 2 bits. These four possibilities, along with the 144 texture descriptors,
create 144
δ
576 contexts for X . As the encoding proceeds, we keep track of how much
prediction error is generated in each context and offset our initial prediction by that amount.
This results in the final predicted value.
Once the prediction is obtained, the difference between the pixel value and the prediction
(the prediction error or residual) has to be encoded. While the prediction process outlined above
removes a lot of the structure that was in the original sequence, there is still some structure
left in the residual sequence. We can take advantage of some of this structure by coding the
residual in terms of its context. The context of the residual is taken to be the value of
×
4
=
defined
in Eq. ( 8 ). In order to reduce the complexity of the encoding, rather than using the actual
value as the context, CALIC uses the range of values in which
δ
δ
lies as the context. Thus:
0
δ<
q 1
Context 1
q 1 δ<
q 2
Context 2
q 2 δ<
q 3
Context 3
q 3 δ<
q 4
Context 4
q 4 δ<
q 5
Context 5
q 5 δ<
q 6
Context 6
q 6 δ<
q 7
Context 7
q 7 δ<
q 8
Context 8
The values of q 1 - q 8 can be prescribed by the user.
If the original pixel values lie between 0 and M
1, the differences or prediction residuals
will lie between
1. Even though most of the differences will have a
magnitude close to zero, for arithmetic coding we still have to assign a count to all possible
symbols. This means a reduction in the size of the intervals assigned to values that do occur,
which in turn means using a larger number of bits to represent these values. The CALIC
algorithm attempts to resolve this problem in a number of ways. Let's describe these using an
example.
Consider the sequence
(
M
1
)
and M
7
We can see that all of the numbers lie between 0 and 7, a range of values that would require 3
bits to represent. Now suppose we predict a sequence element by the previous element in the
sequence. The sequence of differences
x n :
0
,
7
,
4
,
3
,
5
,
2
,
1
,
r n =
x n
x n 1
is given by
r n :
0
,
7
,
3
,
1
,
2
,
3
,
1
,
6
Search WWH ::




Custom Search