Introduction 
Matrix Action 
Perpframes, Aligners and Hangers 
Stretchers 
Coordinates 
Projections 
SVD 
Matrix Subspaces  
Linear Systems, Pseudo-Inverse 
Condition Number 
Matrix Norm, Rank One 
Data Compression 
Noise Filtering 
Todd Will
UW-La Crosse
 Yogi

Image compression

Exercise
From the really great book by David Kahaner, Cleve Moler and Stephen Nash - 
"Numerical Methods and Software", Prentice-Hall, 1989: 

"Suppose that a satellite in space is taking photographs of Jupiter to be sent back to earth. 

The satellite digitizes the picture by subdividing it into tiny squares called pixels or picture elements. 

Each pixel is represented by a single number that records the average light intensity in that square. 

If each photograph were divided into 500 x 500 pixels, it would have to send 250,000 numbers to earth for each picture. 

This would take a great deal of time and would limit the number of photographs that could be transmitted. 

It [is sometimes] possible to approximate this matrix with a matrix which requires less storage." 


Yogi

Here's a Martian image of a rock called "Yogi" sent back by the Sojourner rover. 
The image is stored as a 256 x 264 matrix M with entries between 0 and 1. 
[Graphics:compressiongr1.gif] 
 

The matrix M has rank 256. 

Here's a plot of the singular values for M. 

[Graphics:compressiongr3.gif] 

Since the singular values are decaying so rapidly, you can expect that there will be a good lower rank approximation to M

That is, for a relatively small k, you should have 

[Graphics:compressiongr4.gif]
 
 

Have a look at various lower rank approximations to M. 

The rank 36 approximation looks fairly good. 

What's the advantage of using a lower rank approximation for M

To send the matrix M you need to send 256 x 264 = 67584 numbers. 

To send the rank 36 approximation to M you need only send 
 

  • the first 36 singular values, 


  • the first 36 hanger vectors, each of which has 256 entries, 


  • the first 36 aligner vectors, each of which has 264 entries. 

So in total you need to send only 36(1+256+264)=18756 numbers. 


Exercise

1. How many numbers would be required to send the rank 49 approximation to M ? 
 
 

© 1999 Todd Will
Last Modified: 12-Jan-1999
Hit Counter