Saturday, July 10, 2010

High Dynamic Range, Part 2

This is a quick follow-up to my first post on High Dynamic Range. I don't feel that I used the best subject matter there- I really just took a few pictures to try it out.

I ended up having better luck at sundown- both in shooting a sunset (a great source of contrast and color) and in just shooting random landscape in that low-light setting. I found I could get some really moody results.

Surrealstic More Saturated

Changing the way your HDR image is processed can have some dramatic effects on the results. Try to create different moods that fit your subject matter.

I have also learned a bit more about how HDR images are stored and processed in Photoshop. Here I will get into some technical details- but only because the knowledge has changed the way I save and process HDR images in Photoshop (for the better, I think!)

Everything on a computer is stored as bits- ones and zeros. You've probably heard this before, but consider for a moment what this means for storing image data. Putting aside the complexities of compression, a digital image is stored as a series of pixels. Each pixel is a single color, representing the smallest granularity represented by the image.

This is still fairly common knowledge- but, putting the two together, we reach an interesting point- how many bits do we need to store one pixel?

The answer is a little complicated, and gets into the topic of color depth, something that is very relevant when talking about HDR.

Each pixel is made up of several channels. In most cases, there will be three channels- red, green and blue. Other storage methods include 4-channel CMYK, or having an additional alpha channel to define transparency. (This is often called RGBA, for red, green blue plus alpha).

So, now the question becomes- how many bits do we need to store one channel of a pixel? The most common answer is "8". When you choose a raw color value in Photoshop or HTML, you specify a number between 0 and 255 for each channel. This is because each channel is represented as an 8-bit value (and 2 to the power of 8 is 256, giving us that many possible values to work with).

An 8 bit-per-channel image is often simply called a 24-bit or 32-bit image (depending on if there is room for CMYK or RGBA). This can be confusing, so keep in mind the difference between 8-bit color and 8 bits per channel.

In HDR, the idea is to allow for a wider range between the lightest areas and darkest areas of the image. If we end up squashing those color values down into a tiny range, we can lose some of that extra clarity and contrast.

For this reason, HDR images are often stored with more bits per channel. In the "Merge to HDR Pro" dialog, you can choose the numbers of bits per pixel you want to use.

Since learning about this option, I now render all of my HDR images in 32bpc first, saving the PSD file before rendering into a lower color depth. This lets me save a version of the HDR image that is as close to "original" as I know how to get at this point.

When you save your 32-bits-per-channel HDR image, you may notice a serious lack of options! There are not many image formats that support 32 bits per channel.

In order to save your 32bpc HDR image in another format (for instance, JPEG), you must first convert it to 16 or 8 bits per channel.
This will bring up the HDR Toning dialog, with all of the same presets and options as the 16-bit selection in the original "Merge to HDR Pro" dialog.
From here, you can select how you want to render the 32-bit channels, playing with the various effects as before.

The main difference is that now you have the original 32-bit version, and can easily revert to it and try different styles when rendering to 16-bit.

No comments:

Post a Comment