open Platforms for
By Richard Szeliski
CoMputational photoGraphy is an
emerging discipline that enables the
creation of enhanced-quality photographs through novel combinations of
digital images, algorithms, optics, and
sensors. 2, 5 The field lies at the intersection of image processing, computer vision, and computer graphics, and has
spawned its own workshops and conferences. It has also engendered many
new features used in digital cameras
While scientists have applied image analysis and enhancement techniques to images for decades, the application of sophisticated algorithms
to consumer photography started in
the mid-1990s. Early examples of such
algorithms include stitching multiple
images into seamless panoramas,
merging multiple exposures to create
and display high dynamic range (HDR)
images, and combining flash and no-flash images to provide better details in
dark regions without harsh shadows.
As with most of computing, computational photography algorithms were
originally developed and deployed on
professional workstations and desktop
personal computers. Unfortunately,
the inability to deploy these algorithms
inside cameras has severely limited
real-world experimental validation and
the percolation of these scientific advances into consumer products.
The migration of these algorithms
into hardware and firmware has been
hampered by a number of factors. 1
For example, digital image processing
algorithms used by cameras are protected by patents and trade secrets.
Vendors also tightly control the user experience, rather than taking the more
open approach embraced by the app
An even more fundamental im-
pediment to the widespread develop-
ment and deployment of in-camera
algorithms is the lack of a clean open
architecture for controlling camera
features and writing the correspond-
ing real-time processing and viewing
algorithms. The following article by
Adams et al. is the first to address this
problem, and it does so in a beautiful
and elegant fashion.
1. levoy, m. experimental platforms for computational
photography. IEEE Computer Graphics and
Applications 30, 5 (2010), 81–87.
2. nayar, s. k. computational cameras: redefining the
image. Computer 39, 8, (2006), 30–38.
3. ragan-kelley, J., adams, a., Paris, s., levoy, m., and
amarasinghe, and durand, f. decoupling algorithms
from schedules for easy optimization of image
processing pipelines. ACM Transactions on Graphics
31, 4 (2012).
4. stanford cs 448a: computational Photography;
5. szeliski, r. Computer Vision—Algorithms and
Applications. springer. 2010.
Richard Szeliski ( firstname.lastname@example.org) is a
distinguished scientist at microsoft research, redmond, Wa.