Databases Reference
In-Depth Information
a compression scheme most suited to that characteristic. Unfortunately, most source outputs
exhibit a combination of characteristics, whichmakes it difficult to select a compression scheme
exactly suited to the source output.
In the last chapter we looked at techniques for decomposing the source output into differ-
ent frequency bands using block transforms. The transform coefficients had differing statistics
and differing perceptual importance. We made use of these differences in allocating bits for
encoding the different coefficients. This variable bit allocation resulted in a decrease in the av-
erage number of bits required to encode the source output. One of the drawbacks of transform
coding is the artificial division of the source output into blocks, which results in the generation
of coding artifacts at the block edges, or blocking. One approach to avoiding this blocking is
the lapped orthogonal transform (LOT) [ 198 ]. In this chapter we look at a popular approach to
decomposing the image into different frequency bands without the imposition of an arbitrary
block structure. After the input has been decomposed into its constituents, we can use the
coding technique best suited to each constituent to improve compression performance. Fur-
thermore, each component of the source output may have different perceptual characteristics.
For example, quantization error that is perceptually objectionable in one component may be
acceptable in a different component of the source output. Therefore, a coarser quantizer that
uses fewer bits can be used to encode the component that is perceptually less important.
Consider the sequence
plotted in Figure 14.1 . We can see that, while there is a
significant amount of sample-to-sample variation, there is also an underlying long-term trend
shown by the dotted line that varies slowly.
One way to extract this trend is to average the sample values in a moving window. The
averaging operation smooths out the rapid variations, making the slow variations more evident.
Let's pick a window of size two and generate a new sequence
{
x n }
{
y n }
by averaging neighboring
values of x n :
x n +
x n 1
2
y n =
(1)
The consecutive values of y n will be closer to each other than the consecutive values of x n .
Therefore, the sequence
{
y n }
can be coded more efficiently using differential encoding than
the sequence
{
x n }
. However, we want to encode the sequence
{
x n }
, not the sequence
{
y n }
.
Therefore, we follow the encoding of the averaged sequence
{
y n }
by the difference sequence
{
z n }
:
x n +
x n 1
2
x n
x n 1
z n =
x n
y n =
x n
=
(2)
2
The sequences
can be coded independently of each other. This way we can use
the compression schemes that are best suited for each sequence.
{
y n }
and
{
z n }
F I GU R E 14 . 1
A rapidly changing source output that contains a long-term compo-
nent with slow variations.
Search WWH ::




Custom Search