Databases Reference
In-Depth Information
14.12 Application to Image Compression
We have discussed how to separate a sequence into its components. However, all the ex-
amples we have used are one-dimensional sequences. What do we do when the sequences
contain two-dimensional dependencies such as images? The obvious answer is that we need
two-dimensional filters that separate the source output into components based on both the
horizontal and vertical frequencies. Fortunately, in most cases, this two-dimensional filter can
be implemented as two one-dimensional filters, which can be applied first in one dimension,
then in the other. Filters that have this property are called separable filters. Two-dimensional
nonseparable filters do exist [ 211 ]; however, the gains are offset by the increase in complexity.
Generally, for subband coding of images we filter each row of the image separately using a
high-pass and low-pass filter. The output of the filters is decimated by a factor of two. Assume
that the images were of size N
×
N . After this first stage, we will have two images of size
N
2 . We then filter each column of the two subimages, decimating the outputs of the filters
again by a factor of two. This results in four images of size 2
N
×
N
2 . We can stop at this point
or continue the decomposition process with one or more of the four subimages, resulting in 7,
10, 13, or 16 images. Generally, of the four original subimages, only one or two are further
decomposed. The reason for not decomposing the other subimages is that many of the pixel
values in the high-frequency subimages are close to zero. Thus, there is little reason to spend
computational power to decompose these subimages.
×
Example14.12.1:
Let's take the “image” in Table 14.8 and decompose it using the low-pass and high-pass filters
of Example 14.2.1 . After filtering each row with the low-pass filter, the output is decimated
by a factor of two. Each output from the filter depends on the current input and the past input.
For the very first input (that is, the pixels at the left edge of the image), we will assume that
the past values of the input were zero. The decimated output of the low-pass and high-pass
filters is shown in Table 14.9 .
We take each of these subimages and filter them column by column using the low-pass
and high-pass filters and decimate the outputs by two. In this case, the first input to the filters
is the top element in each row. We assume that there is a zero row of pixels right above this
T A B L E 14 . 8
A sample “image.”
10
14
10
12
14
8
14
12
10
12
8
12
10
6
10
12
12
10
8
6
8
10
12
14
8
6
4
6
4
6
8
10
14
12
10
8
6
4
6
8
12
8
12
10
6
6
6
6
12
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
 
Search WWH ::




Custom Search