Newswise — Designers of embedded systems, particularly those found in mass-market consumer electronics, must strive to reduce costs as much as possible--even pennies matter when you are selling millions of units. One way to economize is to build in no more random-access memory (RAM) than the device needs to operate. But because the software and hardware are often developed at the same time, it is difficult to know just how much memory will ultimately be required.

Overestimating the amount of memory needed squanders money on useless hardware, whereas underestimating the memory requirements usually necessitates a costly redesign. The authors offer a strategy that avoids both pitfalls: using data compression to make an embedded system perform as if it had twice the memory that's actually present. The accepted wisdom has been that getting such a system to operatee with sufficient speed demands special-purpose hardware, but the authors have devised a way to carry out such data compression in embedded systems using software alone.