Why do we multiply by transpose of matrix to get discrete cosine transform

563 Views Asked by At

When doing discrete cosine transform (DCT) on a image signal M e.g assume it is 8x8 like in JPEG, we multiply it with DCT marix T and its transpose. The T just contains numbers we get from cosine function with different inputs as seen in 2D DCT-II equation for 2D signals.

The result looks like this:

B = T * M * T'

We multiply M by T and then its transpose to get result B. The text says that one time we multiply the rows of M and then when we multiply the result by the transpose, we multiply the columns of M. I have the following problem:

(1) Since T * M already causes all numbers in A to be transformed, then why multiply with T'? You see I do not understand why we do rows and columns in this specifc order. I mean why not do T * T' * M or something else? I do not understand doing multiplication like this ends of doing rows and then columns transformed. (2) How does this matrix multiplication containing T and its transpose, satisfy the 2D DCT-II equation containing double sigmas?

I am an electronic engineer and not a mathematician.