I have been doing a bit of experimentation with HDR recently, and had an idea about synthesizing extra dynamic range (particularly in shadow areas) from a single image rather than a bracketed sequence of images.
I've written it up here:Synthetic HDR at findatlantis.com
in some detail, but to cut a long story short, it works by using convolution to simulate binning, then generating a series of simulated greater exposures (that are guaranteed not to introduce any quantisation effects), then doing a standard HDR merge and tone mapping of the resulting image. The initial results are encouraging -- I'll include an example here, but there's more detail on my web site.
Here's the original test image:Base image
It was shot with a Bronica ETRS, 100mm macro on an auto bellows, Megavision E4 Monochrome back (16 megapixel, 4096x4096, 12-bit).Synthetic HDR image
This is an effectively 20-bit synthetic HDR version of the same image (no other images were used), tone mapped back to 8 bits for web purposes.
For comparison, here's a 'real' HDR image made the conventional way by doing a Photoshop HDR merge on a series of 7 separate exposures, 1 stop apart:Real HDR image
There's not much to choose between the two, really -- most of the difference is down to different tone mapping settings, which could probably be overcome with a bit of dodging and burning.
Rather more telling is comparing (slightly out-of-focus) 100% crops from the bottom right hand corner:Original image, 100% crop, auto-levels applied
This is the original image, cropped and adjusted with Levels. Compare this with the same area of the synthetic HDR image:
There's surprisingly little to choose between the two in terms of perceived resolution, but in the synthetic HDR version there is no sign of the horrible pixellation or posterisation, just something looking not unlike film grain. In this example there are some slight artifacts from my having used rectangular convolution kernels, but this could easily be avoided by using circular kernels instead.
I don't think this technique can necessarily replace HDR, but it does appear to be able to regain shadow detail in single frames surprisingly well. I'm considering implementing this algorithm as a Photoshop plugin, but in the mean time, the web page I linked above tells you enough to be able to reproduce my results.