The MDCT is a linear orthogonal lapped transform, based on the idea of time domain aliasing cancellation (TDAC). It was first introduced in [7], and further developed in [8].
MDCT is critically sampled, which means that though it is 50% overlapped,
a sequence data after MDCT has the same number of coefficients as samples
before the transform (after overlap-and-add).
This means, that a single block of IMDCT data does not correspond
to the original block on which the MDCT was performed.
When subsequent blocks of inverse transformed
data are added (still using 50% overlap), the errors introduced by the
transform cancels out TDAC. Thanks to the overlapping
feature, the MDCT is very useful for quantization. It effectively removes the
otherwise easily detectable blocking artifact between transform blocks.
The used definition of MDCT is (a slight modification from [9]) is:
and the IMDCT:
where f(x) is a window with certain properties (see [9]). The sine window
has the right properties, and is used in this coder. The MDCT in the coder is performed with a length of 512, and thus 256 new samples are used for every block.