Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What are the differences between KLT and SVD? It looks more or less similar to me. Did I misunderstand the concepts? Explain me more about SVD and if possible provide me the link for SVD (Image Processing). Thank you.

share|improve this question

From the direct implementations of the two, SVD and KLT are different since $S$ in SVD is a diagonal matrix, while $C$ in KLT is not. Besides, KLT is originally used to describe a stationary process. In its expansion, an infinite number of basis functions is required to form a complete set. Yet for a random vector $X$, it can be rephreased in terms of a linear combination of orthonornal basis vectors, then covariance matrix $C$ is furtherly derived.

For a 2D image, we can view it as $M$ realizations of stochastic process $x$ where $M$ is the row of the image. And the assumption is that all rows have the same row covariance matrix $C$, then the KLT can be somehow converted to the form of SVD. In other words, when considering a multivariate stochastic process, the SVD and the KLT are computationally equivalent. That's why in most cases people view the both as the same. For mathematical details, refer to The KL transform and eigenimages.

In the application of image compression, the global KLT is used for the whole image, while SVD is better applied to each block. In Patrick et al's Hybrid KLT-SVD Image Compression, they combined the two method to implement the adaptive transform on the blocks to achieve a better coding efficiency.

share|improve this answer

KLT and SVD are essentially the same, except KLT is applied to continuous linear operators, and SVD is applied to finite-variable linear operators (matrices).

The principal idea is the same: given a linear function (or operator), we find a basis representation for the inputs in such a way that every component of this basis would get multiplied by a number. This is more simply knows as eigenvalue decomposition.

share|improve this answer
Thank you.. Can you please elaborate more? – user7834 Feb 14 '14 at 1:28
On which part exactly? – Phonon Feb 14 '14 at 1:52
In terms for image processing.. In my syllabus (Advanced Digital Image Processing), I have both KLT and SVD. Why we need to study both? Image is a finite-variable linear operator right? I am unsure about the terms continuous linear operators and finite-variable linear operators (matrices). Do you mean Continuous Signal and Discrete Signal ? – user7834 Feb 14 '14 at 2:30

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.