Upload
loren-parsons
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
11
Using Checksum to Reduce Power Consumption of Display Systems for
Low-Motion Content
Kyungtae Han*, Zhen Fang, Paul Diefenbaugh, Richard Forand,
Ravi R. Iyer, Donald Newell
Intel Labs
Oct. 5, 2009
2009 IEEE International Conference on Computer Design, Lake Tahoe, CA
22
Contents
• Introduction• Display subsystems• Image change detections• Evaluation & Prototype
33
Introduction
• Typical applications on mobile device tend to have static image contents– Web browsing, text editing– Each frame hardly changes from the previous one
• Efficiently detecting and handling no-motion scenes are critical to extend the battery life – Propose image change detection algorithms
• Optimize power consumption of display subsystems– Local display refresh– Remote display content compression
44
Local Display Refresh with Local Buffer• Refresh screen at a fixed rate (e.g. 60 Hz)• When images are not changed, refresh through
local frame buffer in order to save power consumption in host*
System DRAM System FB
Gfx
LCD controller
Image hold
LCD panel
CPU
Memory controller
RGB data
address
Local FB
* [Brakmo 2004]
55
Remote Display
• Encode data and transmit– Eliminate temporal redundancy between video frames
• Two steps of encoding1. Find different pixel blocks between current and reference
frames2. Encode the difference
Frame buffer
X server/Win manager/3D driver
Application
Remote Display Interface: encoding
Wireless network
MPEG/H.264 decoding
Frame buffer
LCD controller
(Thin display client)
66
Image Change Detection
Current frame/block
===
===
+
Ref. frame/block
=
CRCCRC
Current frame/blockRef. frame/block
Conventional Detection Proposed Detection
0: No change/ Zero-motion
Others: Image changed/ motion
* Cyclic redundancy check (CRC) is a type of data integrity checksum function that takes a data stream and produces a value
77
Pixel Fetch from DRAM
Pixel-by-pixel Comp. Proposed method
Frame n / MB n
Frame n-1 / MB n-1
time
compare
Frame n+1 / MB n+1
compare
Each pixel fetched from DRAM twice
Frame n / MB n
Frame n-1 / MB n-1
compare
Frame n+1 / MB n+1
compare
Each pixel fetched from DRAM once
CRC1 CRC2 CRC3
(in DRAM)
time
(in DRAM)
88
Stream Image Change Detector
• Each pixel fetched from DRAM once
System DRAM
System FB
GfxCPU
Memory controller
CRC generator
DelayCRC
checker
vsyncpixel clock vsync
LCD controller
Image
Hold
LCD panel
Stream Image Change Detector
Local FB
99
Zero-Motion Detection Using Hardware CRC
Generate CRC for current MB
CRC of same MB in last frame
Zero-motion detected
Motion detected. Encode current MB as I-block
==?
N
Y
from X server / win manager / 3D driver
Current MB to frame buffer
MB: macro block (16x16 pixels)
1010
Additional Techniques
• Partial CRC– Ignore some of pixel components– E.g. Skip brightness
– only use U and V and skip Y (Brightness)
• CRC Throttling– Turn On/Off CRC logic based on
contents– Turn off CRC after zero motion
vector has been generated for T successive frames, (no more than S)
X server / window manager / 3D driver
SRAM
CRC Generation
Baseline encoding process
U, V for one blk
RGB-to-YUV
Y, U, V for one blk CRC
throttle
Q D Q D DQ Q D
CRC(3) CRC(2) CRC(1) CRC(0)
Pixel data in
throttle
clock
Example CRC-4 Implementation for
X4 + X2 +X +1
to frame buffer XOR XOR
XOR
CRC compare
1111
Failure Recovery
• Failure of CRC-based image change detection– Slight possibility that motion between two blocks of data is
missed by short CRCs– Result in repeated rendering of an obsolete image
• Overcome this failure– Periodically de-assert CRC-based image change detection
output– Force into “image changed”
1212
Quantitative Evaluation
• Total display system power
• Power consumption
• Total power savings
otherslerLCDcontrolrollerMemoryContrameBufferDispLocalFDRAMbusDRAMdevice PPPPPP
idleactive PPP )1(
dCRCoverhearameBufferDispLocalF
lerDynamicLCDcontrolmicrollerDynaMemoryCont
amicDRAMbusDynownDRAMpowerd
PP
PP
PP
)
(
: average fraction of frame contents that is not changing
Motion Frames
Power consumption
baseline
Image change aware
display
0 60 (FPS)
1313
Frame Change Characteristics & Estimated Power Savings
Video Creation Office Produc-tivity
E-Learning 3D Modeling Mobile Produc-tivity
movie "Ele-phant Dream"
CNN.com ac-tive browsing
0
50
100
150
200
250
300
350
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Power savings % of no-motion frames
Po
we
r s
av
ing
s (
mW
)
% o
f n
o-m
oti
on
fra
me
s @
60
FP
S
1414
Extrapolated Amount of Motion at Macroblock Level
Video Creation
Office Productiv-
ity
E-Learning 3D Modeling Mobile Productiv-
ity
movie "Ele-phant Dream"
CNN.com ac-tive browsing
20%
30%
40%
50%
60%
70%
80%
90%
100%
% of no-motion frames @ 60 FPS (measured)
MB-level, if % of no-motion MBs in changed frame = 40%
MB-level, if % of no-motion MBs in changed frame = 60%
if % of no-MB-level, motion MBs in changed frame = 80%
% o
f C
on
ten
t w
ith
No
Ch
an
ge
(1
00
% =
ide
nti
ca
l co
nte
nt)
1515
Prototype
• Proof-of-concept hardware illustrating CRC image change detection
• Components– PC mother board– Altera FPGA– 1280x800 LCD
• When detector finds no image changes, then go to low-power mode
System DRAM
System FB
GfxCPU
Memory controller
CRC generator
DelayCRC
checker
vsyncpixel clock vsync
LCD controller
LCD panel
Stream Image Change Detector
Local FB
1616
1717
Summary
• Propose and prototype a novel image change detection method using CRC
• Proposed method reduces significant percentage of frame buffer reads
• Prototype shows that proposed method detects image changes
• Future works– Experiment with checksum/hash functions rather than CRC– Investigate other application of the proposed image change
detector
1919
Backup slides…
2020
Power Consumption of Key Components• In Hypothetical battery-powered device