Technology Review - Published By MIT
Advertisement

Saving Power in Handhelds

Taking advantage of human error tolerance could make cell phones more energy efficient.

By Larry Hardesty

Thursday, August 30, 2007

smaller text tool iconmedium text tool iconlarger text tool icon

With the advent of the Apple iPhone and its big, clear screen, the idea of using the morning commute to catch up on missed episodes of Lost became a lot more attractive. But video chews through a handheld's battery much faster than, say, playing MP3s does. In the most recent issue of the Association for Computing Machinery's Transactions on Embedded Computing Systems, researchers at the University of Maryland describe a simple way for multimedia devices to save power. In simulations, the researchers applied their technique to several common digital-signal-processing chores and found that, on average, it would cut power consumption by about two-thirds.

Credit: Sándor Kelemen, Istockphoto.com

The premise of the technique, says Gang Qu, one of its developers, is that in multimedia applications, "the end user can tolerate some execution failure." Much digital video, for example, plays at a rate of 30 frames per second. But "in the old movie theaters, they played at 24 frames per second," Qu says. "That's about 80 percent. If you can get 80 percent of the frames consistently correct, human beings will not be able to tell you've made mistakes."

Unlike the movies in the old theaters, a digital video isn't stored on reels of wound plastic; it's stored as a sequence of 1s and 0s. That sequence is decoded as the video plays, and the decoding time can vary from one frame to the next. So digital media systems are designed to work rapidly enough that even the hardest-to-decode frames will be ready to be displayed on time.

Qu thinks that's a waste of processing power. If the viewer won't miss the extra six frames of video per second, there's no reason to decode them. Lower decoding standards would mean less work for the video player's processor, and thus lower power consumption.

Story continues below

The straightforward way to ensure a decoding rate of 80 percent would be to decode, say, eight frames in a row and ignore the next two. That approach--which Qu calls the "naive approach"--did introduce power savings in the Maryland researchers' simulations. The problem is that such a system doesn't distinguish frames that are hard to decode from those that are easy: if frame five is the hardest, the decoder will still plow through it; if frame nine is the easiest, the decoder will still skip it.

Qu and his colleagues wrote an algorithm that imposes a series of time limits on the decoding process; if any of the limits is exceeded, the decoding is aborted. "You set certain milestones," Qu says, "and you say, 'Okay, after this time I still haven't reached that first milestone, so it seems this is a hard task. Let me drop this one.'" Using statistics on the durations of particular tasks, the researchers can tune the algorithm to guarantee any desired completion rate.

Comments

  • Not practical - not even close
    I'm afraid Qu doesn't understand modern video standards well.  This won't work the way he envisions - he should have looked at real video standards before doing his research using non-video analogs.

    Real video codecs use a combination of occasional stand-alone i-frames, and a series of predictive frames (p-frames and b-frames).  Not decoding a frame will typically cause massive distortion of following (and in some cases preceding) frames, since video compression relies on being able to take advantage of the minimal change from one frame to the next.

    I-frames (IDRs) are almost always the most expensive to decode, since by definition are stand-alone - they don't reference any other frames, and so include a lot more data to process.  But i-frames are the worst ones to drop; that will mess up the entire sequence until the next i-frame.

    You *may* be able to drop the last predicted frames right before the next iframe without distortion, but they're unlikely to be the most power-consuming frames.  Dropping those p/b-frames is the only way you can save on power here without major distortion, but that's hardly his algorithm.  You can encode video with frames that aren't use to predict later frames - but that reduces compression, and this requires purposeful compression for the target use, in which case you could simply not encode the extra frames in the first place.

    So, basically, what Qu did has little to no relevance to the supposed target.  It might be relevant with the odd/rare use where there aren't dependencies between one unit of processing and the next (motion-jpeg for example - but why would someone on a wireless device be using those?)  He should take an introductory course in video compression, I'm afraid.
    Rate this comment: 12345

    jesup
    08/30/2007
    Posts:7
    Avg Rating:
    4/5
  • fatally flawed
    If Gang Qu’s premise that the loss of 20 percent of presentation frames is undetectable is based on, as he said, “in old movie theaters, they played at 24 frames per second” as opposed to video delivery of 30 fps, it is fatally flawed. 

    The 24fps presentation rate for film does not throw away any frames since it is the same frame rate the film was recorded (exposed) at.  In fact, in some circumstances of presentation certain frames may be projected twice providing an effective frame rate higher than 24 fps.

    Film presentation cannot be directly compared to video presentation as he is suggesting.  Film is presented as an all points at once per frame, and video is a serial line-by-line painting of the frame.  In addition, there is the matter of interlace, which further complicates the issue of “frame rate.”  Broadcast NTSC video has a frame rate of 29.97 fps, and a field rate of 59.94 fields per second.  And still further there are groupings of four fields denoted as color fields, which carry important color timing information.

    In order to save bandwidth when video is delivered with any of the current lossy compression techniques, as the previous poster noted, certain frames become critical in the rebuilding of the video image.

    I’m afraid that Gang Qu’s algorithm would precisely target the most important frames in the stream and make a very noticeable mess of the viewing experience.
    Rate this comment: 12345

    baca
    09/01/2007
    Posts:1
  • self-timed logic saves power automatically
    Hi,

    It's true that a lot of power is consumed running in 'idle time', because video decoders are designed to decode for worst-case conditions. In typical conditions several parts are only used 20% of the time and some maybe 60% of the time.
    A video decoder developed with self-timed or asynchronous logic will automatically stop using power when there is no activity. This will save more power than the suggested approach in this article, while still being able to deliver the maximum quality.
    Rate this comment: 12345

    cor.schepens
    09/03/2007
    Posts:1
  • Saving Power in Handhelds
    Sir
    I have used the Apple cell phone. It is excellent, only priced a little high. What I would like to have on this is a void command,"sleep" and it goes to sleep not waiting for nay more time, like minimums set in the phones.

    Firozali A.Mulla MBA PhD
    Rate this comment: 12345

    famulla
    10/31/2007
    Posts:11
    Avg Rating:
    2/5

Log In

Forgot your password?     Register »
Advertisement
Technology Review July/August 2009

Current Issue

Search Me
Inside the launch of Stephen Wolfram’s new “computational knowledge engine.”
•  Subscribe
Save 41%
•  Table of Contents
•  MIT News
Advertisement

Follow us on Twitter

Twitter

Get Technology Review updates via the web, cellphone, or Instant Messager – Follow techreview on Twitter!

Advertisement
Subscribe to Technology Review's daily e-mail update. Enter your e-mail address

Advertisement
TECHNOLOGY RESOURCES

More Technology News from Forbes

Advertisement
MIT Massachusetts Institute of Technology © 2009 Technology Review. All Rights Reserved.