Subband coding is given as an example of an encoding algorithm that can neatly map onto hierarchical coding. There are other examples of hierarchical encoding none of them is a standard or widely used as the international standards such as H261 and MPEG.
Subband coding is based on the fact that the low spatial frequencies components of a picture do carry most of the information within the picture. The picture can thus be divided into its spatial frequencies components and then the coefficients are quantized describing the image band according to their importance; lower frequencies being more important. The most obvious mapping is to allocate each subband (frequency) to one of the hierarchy layers. If inter-frame coding is used, it has to be adjusted as not to create any upward dependencies.
In the discrete cosine world, we can replace
with just the
cos(t), and the
integrals become sums. t just references a token or symbol in
the original digital spatial sample (for an image). Of course, an
image is two-dimensional, which means we have to do the transform for
two spatial coordinates, rather than one temporal coordinate.
So to transform a block of image data, 8 by 8 pixels square into the frequency domain, we apply:
Let us have a look at how this works in practice. In the figure
4.13, we can see some artificial images, and their
transforms.
Finally, we should observe that there are a set of well known optimisations of the discrete Fourier and Cosine transforms, based on decimation in time. These essentially all stem from the fact that there is a lot of symmetry in the transform, and the relationship:
x=2, i=1, gives same cos() value as x=1, i=2