Photoshop HDR 32-bit Format: The Dawn of a New Era?
Adobe added a long list of new features to Photoshop when the released CS2. Of the lot, the one I consider to be the most enticing yet mysterious is the new 32-bit per channel HDR format. Short for "High Dynamic Range," HDR uses 32-bits per channel rather than the usual eight or sixteen bits. And it's how it uses them that makes HDR something truly new.
Just What is "High Dynamic Range?"
Standard 8-bit images use values from 0 through 255 to cover the range from black to white. 16-bit images up the ante by allowing you go from 0 all the way to 65,535. In both though, black is still black, and white is still white. All the extra values that 16-bit provides are slotted in between the standard 8-bit values so we really still have about the same dynamic range for each. We can just represent things more accurately in 16-bit mode.
The main limitation with all RGB systems is that they are geared to describing what color something is, not how bright it is. The CIE L*a*b color model improves things somewhat by separating the color components (the "a" and "b" channels) from the lightness or luminance (the "L" channel), but the range of available brightness values is still rather limited.
To represent the real world, we need a relatively open ended brightness scale, and that's exactly what HDR provides.
Rather than using regular integers (the numbers we count with) to record things, HDR uses floating point numbers. If you've used an ordinary pocket calculator, you are probably already familiar with floating point, but just in case, allow me to explain briefly. Sometimes referred to as exponential notation, floating point employs a fractional number (officially known as the mantissa) which is multiplied by some power of ten (known as the exponent). For instance, if you have a calculator with a nine-digit display that reads 999,999,999 and you add one to it, you get 1e+09, or 1 x 109. Multiply the same number by a million and we'd have 9.99999999e+14. This way, we can keep on counting for a long, long time. Also, no matter how high we get, the precision is retained since the mantissa still has the same number of significant digits. Negative exponents let us get ever closer to zero as well with no loss of precision. For all practical purposes, this gives us essentially limitless dynamic range.
Shooting for HDR
Of course cameras can't actually record any more dynamic range just because Adobe came out with a new release of Photoshop. In order to create an HDR image, you will need a series of regular images shot at different exposures that can be merged together.
This means the first thing you will need is a good tripod — no way to do this hand held. There is an option in the "Merge to HDR" dialog that will attempt to automatically align the source images, but you don't want to rely on it. Set up your composition on a tripod so things will line up correctly without help. Trying to convert the same raw image at different exposures won't really cut it either. You need individual, actual images shot at different exposures.
Adobe recommends that you shoot a minimum of three shots, but preferably between five and seven to cover the entire brightness range of the scene in question. You want to make sure you have shots ranging from essentially a completely black exposure on up. Don't stop shooting until you have a frame accounting for each part of the final image without clipping the highlights. Use the histogram to be sure. You will pretty much ruin the resulting HDR image if have any portion of the image that has burned out highlights throughout all the frames. Don't worry that most of the frames will look down right lousy as-shot. Once you assemble them all together you'll be taking the best parts from each, so don't let the fact that each one individually looks awful bother you.
The images you shoot should be separated from each other by somewhere between one and two stops. This rules out the auto-bracketing function on most cameras. My new Nikon D2x can automatically shoot a series of from two to nine exposures separated by up to one stop each, but even that seems barely adequate. Instead, it seems better to simply set the exposure for each shot manually.
Adjust the shutter speed to create your different exposures. Significant changes of aperture would result in noticeable differences in depth of field that would make it difficult to merge the frames effectively. You may be able to use changes in ISO as well, but be careful that you don't introduce unwanted noise by doing so. So long as subject motion doesn't become a problem, shutter speed changes are your safest bet.
Merging to HDR
Once you have all your image frames shot, you'll need to load them onto your computer as you normally would. If you shot in RAW (and this is a good idea), you will need to process your images into either PSD or TIFF before merging them. To make merging them easier, be sure to use the same settings for each in Adobe Camera Raw, Nikon Capture, or whatever your favorite raw converter is.
When you are ready to actually merge, close out of all open images in Photoshop so you have the most resources possible available for the task at hand. Then go to File >> Automate >> Merge to HDR. Click on Browse to select the files you want to merge. The dialog here says you have to pick at least two files, but as mentioned earlier, you really should have a minimum of three.
Photoshop CS2 Merge to HDR dialog
This is where the checkbox is to "Attempt to Automatically Align Source Images." Given that you took care to shoot everything on a steady tripod, you leave this one unchecked. Checking it will make assembling the HDR result take considerably longer.
Once you have selected the desired images, click on "OK" and sit back and relax while Photoshop crunches the numbers. You should see a progress bar with the message "Computing Camera Response Curves," after which you will get a first glimpse at your new creation. If instead, Photoshop tells you "There is not enough dynamic range in these photos to construct a useful HDR image," you apparently didn't follow the advice in the section on shooting for HDR.
Photoshop will read shutter speed, aperture and ISO information from the EXIF data in your images in order to know where to place each in the open-ended floating point exposure scale. If your images don't have EXIF data embedded, you will be prompted to provide this information or to simply assign each frame an EV value relative to the others.
The main portion of the resulting window will contain the composite image with thumbnails of the individual frames down the left-hand side. On right will be a histogram with a single slider underneath for setting the preview white point. Not only will your camera not shoot single frames with this much dynamic range, your monitor can't accurately display them either. This slider allows you to shift up and down the range of exposure within the image to see detail in different parts. The small red tick marks along the bottom of the histogram are stops (one EV each) so you can get an idea of how much dynamic range you have. Above the histogram is a dropdown box allowing you to select the bit depth of the final image as 32, 16 or 8-bits per channel. This is the only control that actually affects the composite image, so when you are ready, go ahead and click on "OK". Leave it as 32-bit for now.
Converting to 16-bit or 8-bit
Depending on where you set the white point slider, the final image may look over or under exposed, but don't worry. Remember that your monitor can't accurately display an image with this much dynamic range and that the floating point format preserved detail even in extremely bright and dark regions. When used with 32-bit HDR images, the Exposure adjustment we looked at last week (Image >> Adjustments >> Exposure) will let you do what was previously impossible. Move the slider back and forth and you will restore detail to what may have seemed burned out highlights or irretrievable shadows. Pretty amazing, really.
Given that your monitor can't even display the whole range of the image, and you can bet your printer can't print it either, you may be wondering what you can do with an High Dynamic Range image. You can choose to save it at this point, and Photoshop now lets you choose from a number of formats compatible with HDR images. Even Photoshop's own PSD format has been enhanced to support 32-bit images. Saving your image will take a fair bit of space, but may be worth it so you don't have to go back to the source images later.
In 32-bit mode, you will find that not many of the standard Photoshop adjustments work. Think of it as somewhat like it was some years back when Adobe first started supporting 16-bit mode. Blur, Sharpen, High Pass, most selection methods, the Clone tool, Photo filters and the new Exposure control all work, but not much else. You may find it useful to use the Lasso tool to select a region, then feather that selection and use Exposure to tweak things. Remember that your monitor can't show you detail in your image across the entire tonal range so be conservative in any adjustments you make.
To turn your new creation into something more usable, go to the regular Image >> Mode menu. You'll find that "8 Bits/Channel" and "16 Bits/Channel" have a new sibling in "32 Bits/Channel". Select "16 Bits/Channel" and the real fun will begin.
The HDR Conversion dialog gives you four different ways to compress the dynamic range of your 32-bit image down into something that will fit in 16-bits. Depending on which one you select, you may be presented with additional controls. At the bottom of the window is an option to show the Toning Curve and Histogram. The histogram itself is useful in all four conversion methods, but the Toning Curve only works in one. We'll find out what the Toning Curve is when we get to that one.
Manually entering exposure information for HDR merge
HDR Local Adaptation conversion method
HDR Exposure and Gamma conversion method
"Exposure and Gamma" gives you (as you might expect) a slider for exposure and one for gamma adjustment. Much like the Exposure adjustment, this conversion method lets you select the portion of the dynamic range you want to retain and the overall brightness of the resulting conversion. The controls function basically as brightness and contrast.
"Highlight Compression" will attempt to reduce contrast in the highlight portions of the image to get it to fit within a standard 16-bit space. It has no controls, functioning completely without user intervention.
"Equalize Histogram" also has no user controls. It seems to compress the entire dynamic range inward to fit while trying to retain as much contrast as possible.
"Local Adaptation" is a complicated beast. It tries to create local contrast throughout the image will stealing contrast from portions of the image that need it less. As such, it tricks the eye into seeing more contrast than actually exists in a way somewhat akin to how Unsharp Mask tricks you into seeing more sharpness than is there. This is the most powerful method, but also the most frustrating since it can also produce some pretty odd results.
To use Local Adaptation, first, click on the option to show the Toning Curve and Histogram. The Toning Curve here operates just like Curves elsewhere in Photoshop and serves to allow you to fully control how the extremely wide dynamic range of the source HDR image gets mapped to the output 16-bit image. Adjusts the left-hand (shadow) end of the curve to match the beginning of the histogram. You probably won't need to, but if you do, do the same to the right-hand (highlight) end. Add additional points on the curve to get an acceptable preview image. Then, adjust the radius and threshold to fine tune how Local Adaptation will create local contrast. You will likely need to play with this for a while.
After converting to 16-bit mode, you can use the full range of normal image optimization techniques to fine tune your image.
If, like me, you have traditionally used graduated neutral density filters to compress the tonal range of your images so they can be recorded on film or digital, or if you have experimented with other digital blending techniques, you will probably want to start experimenting with HDR. It seems a foregone conclusion that Adobe will continue to enhance the 32-bit capabilities of Photoshop in future releases. There are also third party applications such as Photomatix, Photogenics HDR and HDR Shop that allow you to work with HDR images. This is the future of digital imaging. While we are only just beginning, the capabilities already are well worth exploring.
Update 6/27/2005 - I was out on the Olympic Peninsula over the weekend playing with my new Nikon 10.5 DX Fisheye lens and shot a series of images to merge to an HDR. Here's a thumbnail version of each source image plus the final result. Seems pretty nice to me at least.
Update 8/202/2005 - Shooting the shot here from the Olympic Peninsula was so much fun, I went back and re-did it when the sun was out. This new version can be seen here in the Portfolio section. Definitely worth a look if you ask me.
Update 10/15/2006 - More on the Photomatix Tone Mapping plug-in here.