Databases Reference
In-Depth Information
closest approximation R k , we can try all possible combinations of transformations and domain
blocks—a massive computation. In order to reduce the computations, we can restrict the
number of domain blocks to search. However, in order to get the best possible approximation,
we would like the pool of domain blocks to be as large as possible. Jacquin [ 248 ] resolves this
situation in the following manner. First, he generates a relatively large pool of domain blocks
by the method described earlier. The elements of the domain pool are then divided into shade
blocks, edge blocks , and midrange blocks . The shade blocks are those in which the variance
of pixel values within the block is small. The edge block, as the name implies, contains those
blocks that have a sharp change of intensity values. The midrange blocks are those that fit
into neither category—not too smooth but with no well-defined edges. The shade blocks are
then removed from the domain pool. The reason is that, given the transformations we have
described, a shade domain block can only generate a shade range block. If the range block
is a shade block, it is much more cost effective simply to send the average value of the block
rather than attempt any more complicated transformations.
The encoding procedure proceeds as follows. A range block is first classified into one of
the three categories described above. If it is a shade block, we simply send the average value
of the block. If it is a midrange block, the massic transformation is of the form
α k t ij + k .
The isometry is assumed to be the identity isometry. First
α k is selected from a small set of
values—Jacquin [ 248 ] uses the values (0.7, 0.8, 0.9, 1.0)—such that d
(
R k k T k )
is minimized.
Thus, we have to search over the possible values of
α
and the midrange domain blocks in the
domain pool in order to find the
k ,
D k )
pair that will minimize d
(
R k k T k )
.Thevalueof
k is then selected as the difference of the average values of R k and
α k T k .
If the range block R k is classified as an edge block, selection of the massic transformation
is a somewhat more complicated process. The block is first divided into a bright and a dark
region. The dynamic range of the block r d (
is then computed as the difference of the
average values of the light and dark regions. For a given domain block, this is then used to
compute the value of
R k )
α k by
r d (
T j ) max
R k )
α k =
min
J
(44)
r d (
where
α k obtained in this manner
is then quantized to one of a small set of values. Once the value of
α max is an upper bound on the scaling factor. The value of
k
is obtained as the difference of either the average values of the bright regions or the average
values of the dark regions, depending on whether we have more pixels in the dark regions or
the light regions. Finally, each of the isometries is tried out to find the one that gives the closest
match between the transformed domain block and the range block.
Once the transformations have been obtained, they are communicated to the receiver in
terms of the following parameters: the location of the selected domain block and a single bit
denoting whether the block is a shade block or not. If it is a shade block, the average intensity
value is transmitted; if it is not, the quantized scale factor and offset are transmitted along with
the label of the isometry used.
The receiver starts out with some arbitrary initial image I 0 . The transformations are then
applied for each of the range blocks to obtain the first approximation. Then the transformations
are applied to the first approximation to get the second approximation, and so on. Let us see
an example of the decoding process.
α k has been obtained,
Search WWH ::




Custom Search