Advertisement

Compressive Sensing

Started by August 14, 2009 09:54 AM
10 comments, last by alvaro 15 years, 5 months ago
Quote:
Original post by alexjc
Thanks for your thoughts Emergent. My line of thinking was that there are always too many samples (60-120 Hz) reducing samples could/should be as sensible as compression. I think it is entirely fair to compare CS to other compression techniques since that's the most obvious application for games. (Even the CS literature emphasizes the efficiency of compression.)

red_tea suggested compression of terrain_maps. I guess you disagree with that application too?

Alex


So, I'm not really expert on this so maybe I'm being too opinionated... and I think my comments are based as much on how compressive sensing is sold in papers as on the actual math going on. But my gut tells me that, if you have all the data sitting in front of you, you might as well use a traditional compression algorithm -- since whereas compressive sensing is only probably good (albeit admittedly with extremely high probability); traditional algorithms are deterministically good. And it seems you should always be able to take advantage of full knowledge of the data (which compressive sensing doesn't have) to make a better algorithm.

But hey, maybe I'm misguided. Like I said, I've only skimmed a paper or two on it. If I'm wrong and you have some examples showing that it's effective as a general-purpose lossy compression scheme, I'd be curious to see them.

For now, however, I'll go with my gut. :-)
I don't know much about CS, but I know a couple of things about L1 optimization, which I think is closely related.

The idea is always that you have a linear problem with more equations than data points. Obviously, there will be many solutions to such a system. The trick is that in some sense the most natural solution is the one with the fewest non-zero coefficients. You can word that as finding the solution with the smallest L0 norm. This turns out to be a difficult problem, but you can find the solution with the smallest L1 norm as a proxy, and under quite general conditions you'll get a solution that is small in the L0 sense. The advantage is that L1 optimization can be implemented as a linear programming problem, which is tractable.

CS happens to be a curious application of this method, which can come in handy in situations where there is a cost per sample that we would rather avoid. While this is very interesting, I can't imagine what part of game dev it could apply to.

I can see how L1 optimization could be used for filtering animation data and removing spikes, but not for compression per se.

This topic is closed to new replies.

Advertisement