High Dynamic Range Editing

HD Photo supports a new paradigm for image editing.  , Higher fidelity images can be stored in a high dynamic range, wide gamut format using either fixed or floating point numerical encoding.  HD Photo retains image content that would otherwise fall outside the visible range and be clipped using the more typical unsigned integer numerical representation (TIFF, JPEG, PNG, and most other formats.)  This may happen when the camera converts from RAW, or during any other editing or conversion operation.  Take a look at a previous post on this blog for more information about high dynamic range wide gamut pixel formats.

This is a Big Change!

Most imaging applications aren't designed to understand high dynamic range, wide gamut pixel formats.  There are some specialized tools, used primarily by the visual effects world, that work with high dynamic range formats.  Adobe Photoshop CS3 (and CS2) supports high dynamic range wide gamut editing using the 32-bit editing mode.  You probably never realized that Windows Vista Photo Gallery - the simple, easy-to-use photo tools built into Windows Vista - also supports high dynamic range wide gamut editing.  That's right, Photo Gallery.

Let's walk through an example, using the Beta of the new Windows Live Photo Gallery.  This new update for Windows Vista Photo Gallery is coming soon, with some really cool new features (Big Hint: It now has "Live" in it's name), and it will also be available (with HD Photo support!) on Windows XP.  You can check out this post on the Microsoft PhotoBlog for more details on all the cool new features. 

This example works the same way using Windows Vista Photo Gallery, available today in all versions of Windows Vista.  (I've included links below to the source photos so you can try this out for yourself.)  I chose the new Windows Live Photo Gallery because they've added a really cool exposure histogram control, which will help us better illustrate what's going on.

Doing it Old School

Here's an 8-bit sRGB JPEG file, opened in Windows Live Photo Gallery.  This photo definitely has some problems.

It appears that either the camera or some automatic image adjustment program made an overall exposure adjustment decision based on an average scene illumination level.  The painted wall on the left, the dark background on the right and Anthony's dark clothes all biased this average exposure setting, causing his face and the balloons to be over exposed.  Let's zoom in on that area and select the Exposure adjustment controls under Photo Gallery's "Fix" tools. 

The histogram clearly shows the over exposure problem.  There is a large percentage of image content that is clipped at the upper limit of the exposure range.

We can try to fix the photo using the Brightness control to reduce the effect of the over exposure.

While this reduces the blinding brilliance of the image, we weren't able to recover any of the color or detail in Anthony's face, or in the balloons.  That topmost yellow balloon is still clipped to the limit in the red and green channels, resulting in a flat, featureless yellow surface for the entire balloon.   Again, the histogram clearly shows what's going on here.  Any image data that may have existed in this highlight area was clipped to the upper limit of the numerical range when it was encoded in an 8-bit JPEG file.  The Brightness adjustment reduced the levels, but all channels are still clipped at a fixed limit.  All this adjustment did was reduce the level of that clipped limit.  We haven't done that much to rescue the details and color in this over exposed photo. 

This problem isn't unique to JPEG.  We'd have the exact same results with any image format that uses unsigned integers (0-255 for 8-bit or 0-65535 for 16-bit) to encode the data, including TIFF, PNG, or even HD Photo if using an unsigned integer mode.

Once More, with HD Photo

Now let's load the same photo as stored in a 16-bit fixed point scRGB HD Photo file.  As you can see below, the displayed visible range of the image is the same as the JPEG image, so the initial appearance looks identical.  We can also see that even though this is a 16-bit image, the file size is about the same as the equivalent 8-bit JPEG image.

We're starting with the same apparent over exposure problem.  Let's go through the same editing process and see how things differ when using a high dynamic range, wide gamut pixel format.  First, we'll zoom in on the same over exposed area and open the Exposure tools under the "Fix" menu.

Note that the histogram for this version of the photo looks a bit different.  There appears to be a lower percentage of image content near the upper limit of the displayed exposure range, and there doesn't appear to be that same "pile" of image content pressed up against that upper histogram limit.  that's because there's a bunch of content in this image that's not currently displayed in this histogram.  The histogram only shows the visual range, but the HD Photo file includes image content that is outside of the current visual range.  There's more data that was captured by the sensor, but when the image exposure was adjusted based on the overall average level, this additional data wasn't clipped within the 16-bit fixed point scRGB HD Photo file, even though it appears to be clipped in the current display view.  Let's perform the same Brightness adjustment and see how things are very different when editing high dynamic range, wide gamut images.  We'll actually make a larger adjustment change because we're working with a larger range of exposure values.

Wow!   That's a big difference!  The histogram clearly shows that there was a bunch of image content that we weren't seeing in the original version, but in a high dynamic range wide gamut format, it wasn't clipped to the upper limit of the visible exposure range.  When we adjusted the Brightness, this content came back into the visual range; there is no hard clipping visible at the upper end of the exposure range.  The visible difference in the image is dramatic.  We were able to recover a great deal of color and detail in Anthony's face and the over exposed balloons.  Now we can see that the upper yellow balloon is actually translucent; all that detail was completely lost when the initial exposure decisions caused the highlights to clip at the upper end of the visual exposure range.  Now that we've undone most of the over-exposure damage, we could continue on and tweak the contrast, shadows and highlights as desired.

Comparing the Results

Here's a comparison of the two different results based on only the exposure adjustments from above.  You can really see the differences in Anthony's face and shirt, as well as the yellow balloons.  We can retain most of the desirable scene brightness while still recovering the lost highlight color and details.

This is just one example of the improved editing capabilities that are possible using high dynamic range wide gamut image formats (and editing applications that support these formats.)  This capability is here today for HD Photo using Windows Vista Photo Gallery, with expanded features and support for Windows XP coming later this summer in Windows Live Photo Gallery.  

High Dynamic Range Wide Gamut editing is also supported in Adobe Photoshop CS3 (and CS2.)   You can download the free plug-in to add HD Photo support to Adobe Photoshop on Windows Vista and Windows XP, and version for OS X (both PPC and Intel) is coming very soon.  Hopefully we'll see more imaging applications add support for high dynamic range wide gamut formats in the near future.  The new Windows graphics infrastructure, combined with HD Photo, can enable a whole new world of image processing innovation.

Your Turn

Here are links to the actual JPEG and HD Photo files I used for this example.  (They're low resolution images so they can download faster.)  Simply right-click and "Save As..."

AnthonyS.jpg      AnthonyS.wdp

Open these in the Windows Vista Photo Gallery editor and try this for yourself.  Better yet, ask you buddy to try to fix the JPEG version, then you show how it's done using the HD Photo version.  Have fun!