130 The Art and Science of Digital Compositing
curve that is defined by an explicit value at every frame and convert it to a
simpler representation that uses fewer control points. This curve will then
be much easier to manipulate, as well as requiring less memory to represent
it.
WORKING WITH PROXY IMAGES
If you are working on a computer that is not capable of displaying the images
with which you are working in real time at full resolution, or if you do not wish
to spend as much of your time waiting for the computer to process intermediate
test images, you may wish to work with lower-resolution proxy images instead.
A proxy image is a scaled-down version of the image that you are currently
working on. The proxies are created either on the fly, as needed, or are precreated
(manually by the user or automatically by the software). Working with proxy
images usually requires (or at least implies) that you have some kind of batch-
processing system available. The theory is that you can do the majority of your
compositing work in low resolution; once you have taken it as far as possible,
the steps you have defined will then automatically be converted and applied to
the high-resolution equivalents. Some final tweaking will probably need to be
done to deal with any unexpected problems that were not visible at low resolution,
but the hope is that most of the work can be accomplished at low resolution in
a much faster time. To best take advantage of the proxy image method, your
compositing system should be resolution independent. This term means that the
system can take a script created for low-resolution (proxy) images and apply
it to the high-resolution equivalent images, while still producing the expected
imagery.
Resolution independence is not as simple as it sounds, since a great number
of image processing operations are normally specified in units that are pixel
dependent. Something as simple as the parameters for a pan, for instance, are
usually given in pixel units. If we specify a 200-pixel horizontal move for an
image that is 400 pixels wide, we move that image by half its own width. If,
however, we convert our script to high resolution, that same 200-pixel move
applied to an image that is 2000 pixels wide will only move the image a fraction
of its own width. A resolution-independent system either automatically converts
the units to the new scale when we change our working resolution or simply
represents all its operators in resolution-independent units in the first place. A
pan, for instance, could be specified as a percentage of the image’s width instead
of as an absolute number of pixels. If you do not have a resolution-independent
system, you can still work with proxies—you’ll just need to do the conversion
yourself. Knowing which operators need conversion can be tricky. Any operator