In watching a recent Tony & Chelsea Northrup video, one of the hosts mentioned that he basically keeps his smartphone camera set to HDR mode at all times (likely due to the lack of camera raw). This got me thinking about how much highlight and shadow detail can the HDR function of the smartphone camera can bring out as compared to a similar spec camera saving a raw file, and being processed in an image editor to recover shadow and highlight detail.
For this comparison and analysis, I will be using the ZTE Axon Pro smartphone which has a 13 megapixel camera (12.6 megapixels output based on the output resolution of 4096x3072)
For comparison, I will be using a point and shoot camera; the Canon Powershot SX230HS (12.4 megapixel output 4072x3036).
For lighting, I used a small battery powered LED work light.
As everyone who has used a smartphone camera before (assuming mid 2016 and older) would notice, the standard jpeg output struggles with highlight and shadow detail. As a sample of this, I exposed for the pins on the CPU in the sample image for both cameras. Sorry in advanced for any framing differences, though the main focus is the shadows and highlights.
The first step in exploring the HDR function of the smartphone, is to examine the effect it has, and see if we can infer on what data it is using to get the HDR effect. From initial tests, the camera does not seem to take multiple exposures. In the image below, I shook the phone while taking an HDR image of my monitor, and as we can see, there is only a single motion blur, and no ghosting as common with multi exposure HDR when there is movement, furthermore movement does not cause the image to crop.
ZTE Axon Pro (HDR mode, image taken while shaking the device in order to get a motion blue and see how many exposures are used for the HDR)
with this in mind, I decided to set up a high contrast situation, and take one HDR image, and one non-HDR image using the controls on the stick camera app.
ZTE Axon Pro
As we can see in both images, the pins are properly exposed, but the right side of the frame has blown out highlights. The image taken in HDR mode has more highlight detail, though there is some highlight clipping present, and worst, it is clipped to gray.
To make sure that the smartphone camera app was not simply attempting to tone map a single JPEG, decided to take the normally exposed non-HDR image, and attempt to recover the highlights and shadows to a similar extent in order to see if I would encounter similar results.
ZTE Axon pro (non-HDR jpeg tonemapped in photoshop) :
As we can see, the mid-tones are fairly close, while the highlights are very different, this leads me to believe that the camera is processing the jpeg data differently, furthermore, the shutter speeds change slightly, so it seems that it is not changing how the raw data is being handled in the smartphone camera, but instead, it is slightly changing the way the images are captured, as well as how it processes for the shadows and highlights.
For comparison purposes, I did some of the same tests with the Canon Powershot SX 230HS, running the CHDK firmware mod to capture the raw data., and then processing it using adobe camera raw 9.5, and Photoshop.
Canon Powershot SX230HS (raw with lens correction added (no tone mapping)):
Canon Powershot SX230HS (Raw image, tonemapped, levels and HSL adjusted):
With the point and shoot camera, we can see that the raw file has significantly more latitude for adjusting shadows and highlights. The lighting setup proved to be very difficult for the camera app to handle, and largely highlighted one of the flaws with the HDR functions in camera apps, which is clipping highlights to gray. Things like specular highlights are not often expected to be clipped to gray, and thus scenes with hard direct lighting do not work well since it does not allow overexposed areas to go to 100% white, or get really close to it.
On the other hand, with soft lighting, the clipping to gray (no 100% white in the image if you check in photoshop or lightroom), though the clipping does not stand out; it is restricted to hard direct lighting.
Overall, the HDR mode in the camera app, seems to be based on a single exposure, where it adjusts the way it is captured, and processed by the app, while this helps it to get more shadow and highlight detail, it does not seem to have the ability to choose from the 12 or so bits per channel that would normally be present in the raw buffer. When we have the ability to freely choose from the data in the raw buffer in order to choose what is brought into the supported range of the 8 bit per channel jpeg, we are able to gather significantly more detail. The HDR function that is built into the camera app has its place, and on newer phones, it has certainly improved to to a level where it is not an overdone vomit of colors as in the past. Having proper camera raw support for now seems like the best way to go when it comes to achieving a smoother HDR style pr processing. Raw capture is natively supported in modern android releases, as well as with the vast majority of camera modules, the developers just need to work on enabling the capture of that data, and if needed, create a lens correction profile for those who would like to finish processing their images in photoshop or lightroom.