# idct

Inverse discrete cosine transform

## Syntax

`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.