Accelerating the pace of engineering and science

# idct

Inverse discrete cosine transform

x = idct(y)
x = idct(y,n)

## Description

The inverse discrete cosine transform reconstructs a sequence from its discrete cosine transform (DCT) coefficients. The idct function is the inverse of the dct function.

x = idct(y) returns the inverse discrete cosine transform of y

$x\left(n\right)=\sum _{k=1}^{N}w\left(k\right)y\left(k\right)\mathrm{cos}\left(\frac{\pi \left(2n-1\right)\left(k-1\right)}{2N}\right)\text{ }n=1,2,\dots N$

where

$w\left(k\right)=\left\{\begin{array}{ll}\frac{1}{\sqrt{N}}\hfill & k=1\hfill \\ \sqrt{\frac{2}{N}}\hfill & 2\le k\le N\hfill \end{array}$

and N = length(x), which is the same as length(y). The series is indexed from n = 1 and k = 1 instead of the usual n = 0 and k = 0 because MATLAB® vectors run from 1 to N instead of from 0 to N-1.

x = idct(y,n) appends zeros or truncates the vector y to length n before transforming.

If y is a matrix, idct transforms its columns.

## References

[1] Jain, A.K., Fundamentals of Digital Image Processing, Prentice-Hall, 1989.

[2] Pennebaker, W.B., and J.L. Mitchell, JPEG Still Image Data Compression Standard, Van Nostrand Reinhold, 1993, Chapter 4.