TensorFlow 2 version View source on GitHub

Computes the 1D Discrete Cosine Transform (DCT) of input.

Currently only Types I, II and III are supported. Type I is implemented using a length 2N padded tf.signal.rfft. Type II is implemented using a length 2N padded tf.signal.rfft, as described here: Type 2 DCT using 2N FFT padded (Makhoul). Type III is a fairly straightforward inverse of Type II (i.e. using a length 2N padded tf.signal.irfft).

input A [..., samples] float32 Tensor containing the signals to take the DCT of.
type The DCT type to perform. Must be 1, 2 or 3.
n The length of the transform. If length is less than sequence length, only the first n elements of the sequence are considered for the DCT. If n is greater than the sequence length, zeros are padded and then the DCT is computed as usual.
axis For future expansion. The axis to compute the DCT along. Must be -1.
norm The normalization to apply. None for no normalization or 'ortho' for orthonormal normalization.
name An optional name for the operation.

A [..., samples] float32 Tensor containing the DCT of input.

ValueError If type is not 1, 2 or 3, axis is not -1, n is not None or greater than 0, or norm is not None or 'ortho'.
ValueError If type is 1 and norm is ortho.

Scipy Compatibility

Equivalent to scipy.fftpack.dct for Type-I, Type-II and Type-III DCT.