The singular value decomposition we learned in class can be used as a way to compress images. If you were given a 256 by 256 image, you could represent it by storing RGB values in a 256 by 256 matrix which correspond to each pixel in the image. In order to transmit this image without any compression, you would need to transmit 65536 RGB values.
In order to compress this image, it is possible to use singular value decomposition. The first thing to do is calculate the SVD as discussed in class of the matrix that represents the image. This will give something of the form:
A=UΣV*
Where A is the original m by n matrix (in the case above 256 by 256), U is an m by m matrix containing an orthonormal basis of an m dimensional space, Σ is a diagonal matrix containing the singular values of A in decreasing order, and V* is an n by n matrix with columns that form an orthonormal basis of an n dimensional space.
Because the singular values of most matrices become very small after the first few, it is possible to simply not include them in the SVD in order to make there be less information to transmit. When this is done, the corresponding parts of U and V* are also not included. If only 50 singular values were used for the image above, only 50 vectors from U and 50 vectors from V* would need to be transferred. Since each vector in U and V* has 256 values in them, this can get rid of a lot of values, while not losing much information of the image. A more detailed explanation of how this works with some images showing different amounts of singular values used is shown at the University of Wisconsin La Crosse website below. There is also a link to a paper from the University of Calgary about using SVD for image compression that explores some more advanced methods than I described.
http://www.uwlax.edu/faculty/will/svd/compression/index.html
http://math.ucalgary.ca/~laf/teaching/Material/Arnold.pdf






Leave a Comment
You must be logged in to post a comment.
* You can follow any responses to this entry through the RSS 2.0 feed.