next up previous contents
Next: H.261 Up: Video Input and Output Previous: Hierarchical Coding

Subband Coding

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 $ sin(\omega t) + j cos(\omega t) $ 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:

DCT[i,j] = \sum_{x=0}^7\sum_{y=0}^7 cos(2 pi (x i + y j)) f(x, y)

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.

Figure 4.13: Some Examples of DCT'd data

In the transform, we can see how a given artifact in the input appears. For example, the lower left corner of the DCT represents the DC component (average), whilst the corners represent horizontal, vertical and other frequency information.

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

next up previous contents
Next: H.261 Up: Video Input and Output Previous: Hierarchical Coding