dct

Why in DCT (V = C * U * C^T) C comes before C^T, but in IDCT (U = C^T * V * C) C^T comes before C?


enter image description hereWhy in DCT (V = C * U * C^T) C comes before C^T, but in IDCT (U = C^T * V * C) C^T comes before C? I am very happy if there is an answer.


Solution

  • C is an orthonormal matrix, therefore CCT = CTC = I.

    If V = C U CT, then CT V C = CT C U CT C = I U I = U, so that is the way the calculate U back from V.

    You can see that by swapping around whether the CT is to the left or to the right, after substituting the definition of V in, C and CT end up together on both sides. Without swapping them around, C would end up with C, and CT would end up with CT, then they do not cancel out. In other words: taking the DCT of a DCT does not bring you back to the start.

    Which one of these is considered the DCT and which the IDCT is a matter of convention, it works either way.