|
Thursday, August 30, 2007 Saving Power in HandheldsTaking advantage of human error tolerance could make cell phones more energy efficient.
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. 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. 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. |
A New Display Lengthens Gadget Life
06/06/2007



Comments
jesup on 08/30/2007 at 7:00 AM
6
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.
baca on 09/01/2007 at 7:05 AM
1
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.
cor.schepens on 09/03/2007 at 4:30 AM
1
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.
famulla on 10/31/2007 at 1:18 AM
3
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