Home

SIGGRAPH 2006 Computational photography

Coded Exposure Photography: Motion Deblurring using Fluttered Shutter

Ramesh Raskar, Amit Agrawal, and Jack Tumblin

Animation illustrating a shutter opening and closing during a coded exposure
The shutter flutters during a single exposure.

The idea

Preserve detail
before deblurring.

A conventional exposure blurs motion with a temporal box filter, losing high-frequency detail. Opening and closing the shutter in a chosen binary sequence changes that filter to a broad-band response, preserving information for recovering a sharp image.

Single exposure
Encode motion with a binary shutter sequence
Recoverable detail
Preserve high spatial frequencies during capture
Linear reconstruction
Recover the sharp image by solving AX = B
Large motion blur
Examples with blur of approximately 300 pixels

01 / Motion deblurring

Recovering a fast-moving taxi

One photograph is captured with a 200 ms coded exposure. Rectification aligns motion with the scan lines; the blurred object is cropped, then a linear system is solved to recover the sharp image. The example demonstrates high-frequency recovery without the ringing and deconvolution artifacts typical of poorly conditioned reconstruction.

Original coded-exposure photograph of a fast-moving taxi
Single captured photograph · 200 ms exposure
Taxi photograph rectified so motion lines are parallel to image scan lines
Rectified image · align motion with scan lines
Cropped motion-blurred taxi from the rectified photograph
Cutout of the blurred object
Sharp taxi image recovered by solving the coded-exposure linear system
Deblurred output · recovered from the coded photograph

With conventional capture, relative motion between the camera and scene removes high spatial frequencies. Deblurring then amplifies noise and can introduce ringing and other artifacts. The missing information is a consequence of capture, independent of the deblurring algorithm.

Fluttering the shutter preserves high frequencies within one exposure. The resulting deconvolution is better conditioned, allowing a simple linear system AX = B to recover the sharp image X from the blurred image B. The paper demonstrates large motion blurs of approximately 300 pixels.

The prototype adds an external ferro-electric shutter in front of the lens, synchronized with the start of the camera’s exposure. Manually specified point-spread functions are used for the demonstrated reconstructions.

Comparison of short exposure, conventional long exposure, and coded-exposure capture and reconstruction
Short exposure, traditional camera, and coded exposure: comparison of capture and reconstruction.

03 / Capture comparison

Short, continuous,
and coded exposure

A short exposure limits motion blur but gathers less light. A conventional long exposure collects light while smearing away spatial detail. Coded exposure changes the temporal integration pattern to preserve information needed for deblurring.

05 / The exposure pattern

From continuous trails to coded motion

A moving LED and moving car headlights make the shutter pattern visible. A traditional camera records a continuous smear; fluttering the shutter interrupts the trail, preserving high-frequency information.

A moving LED leaves a continuous light trail in a traditional one-second exposure
Traditional camera · moving LED · 1 s exposure
A moving LED leaves an interrupted light trail in a coded one-second exposure
Flutter shutter camera · moving LED · 1 s exposure
Car headlights produce continuous light trails in a traditional exposure
Traditional camera · headlights · 100 ms exposure
Car headlights produce interrupted light trails with coded exposure
Flutter shutter camera · headlights · 100 ms exposure

In a conventional single-exposure photograph, moving objects or moving cameras cause motion blur. The exposure time defines a temporal box filter that smears the moving object across the image by convolution. This box filter destroys important high-frequency spatial details so that deblurring via deconvolution becomes an ill-posed problem.

Rather than leaving the shutter open for the entire exposure duration, we “flutter” the camera’s shutter open and closed during the chosen exposure time with a binary pseudo-random sequence. The flutter changes the box filter to a broad-band filter that preserves high-frequency spatial details in the blurred image and the corresponding deconvolution becomes a well-posed problem. We demonstrate that manually-specified point spread functions are sufficient for several challenging cases of motion-blur removal including extremely large motions, textured backgrounds and partial occluders.