Databases Reference
In-Depth Information
We can get an idea of what kinds of boundaries may or may not be in the neighborhood of
X by computing
d h = |
W
WW
| + |
N
NW
| + |
NE
N
|
d v = |
W
NW
| + |
N
NN
| + |
NE
NNE
| .
The relative values of d h and d
are used to obtain the initial prediction of the pixel X .This
initial prediction is then refined by taking other factors into account. If the value of d h is much
higher than the value of d
v
, this will mean there is a large amount of horizontal variation,
and it would be better to pick N to be the initial prediction. If, on the other hand, d
v
is much
larger than d h , this would mean that there is a large amount of vertical variation, and the initial
prediction is taken to be W . If the differences are more moderate or smaller, the predicted value
is a weighted average of the neighboring pixels.
The exact algorithm used by CALIC to form the initial prediction is given by the following
pseudocode:
v
if d h
d
v >
80
X
N
else if d
v
d h >
80
X
W
else
{
X
(
+
)/
+ (
)/
N
W
2
NE
NW
4
if d h
d v >
32
X
( X
+
N
)/
2
else if d v
d h >
32
X
( X
+
W
)/
2
else if d h
d v >
8
X
3 X
(
+
N
)/
4
else if d
v
d h >
8
X
3 X
(
+
W
)/
4
}
Using the information about whether the pixel values are changing by large or small
amounts in the vertical or horizontal direction in the neighborhood of the pixel being encoded
results in a good initial prediction. In order to refine this prediction, we need some information
about the interrelationships of the pixels in the neighborhood. Using this information, we can
generate an offset or refinement to our initial prediction. We quantify the information about
the neighborhood by first forming the vector
[
,
,
,
,
,
,
,
]
N
W
NW
NE
NN
WW
2 N
NN
2 W
WW
We then compare each component of this vector with our initial prediction X .Ifthevalueof
the component is less than the prediction, we replace the value with a 1; otherwise we replace
it with a 0. Thus, we end up with an eight-component binary vector. If each component of the
binary vector was independent, we would end up with 256 possible vectors. However, because
Search WWH ::




Custom Search