Now, I'm obviously not going to revisit all my test cases, but I am interested in this one - surprisingly common one. All of us, at one time of other want to shoot landscapes or a pretty garden or a coastline, etc. And in truth this use case has been causing problems since the dawn of camera phones.
Whereas most things one might shoot on a phone camera - people, objects, cars, and so on, have clearly defined features, nature tends to present wide areas of nearly identical texture, whether grass or leaves or water. And trying to represent this texture with the highly compressed JPG file format is where things come unstuck. The image processing in a phone camera tries to draw as much detail as possible from the captured image while at the same time reducing digital noise. The two aims are mutually exclusive in many cases, since at what point does leaf detail in a grassy scene become mere noise, especially if shot from a hundred metres away?
Thus we've had different approaches over the years. I was always appalled by how 'smeared' nature detail was in the photos from my otherwise classic Nokia N95 (2007), but on the other hand cheered by the very natural look of photos from the also classic Nokia N8 (2010). And everything in between, depending on which smartphone camera you're looking at. Samsung's phone cameras have, for example, always loved presenting saturated colours and extremes of sharpening and edge enhancement, the idea being that capture photos look insanely sharp on the phone screen itself and even on a desktop monitor later on, yet at the pixel level the artificial nature of the detail is revealed.
The Lumia 950/XL is widely regarded as having the best overall Nokia/Windows Phone camera, with a nice compromise in the area of detail versus noise reduction. Its photos are nicely crisp and, yes, a bit artificial at the pixel level, but the processing doesn't go too far (the Lumia 1020 was arguably the 'purest' of the breed, but that was let down by speed in a big way). In contrast, the Galaxy S9 here doesn't give a hoot about pixel-level quality and aims to enhance, enhance, enhance - it's almost a philosophical difference.
Before I come to an example shot, let's step back a moment to discuss where 'RAW' photography comes in. Away from low (or very high) light multi-exposure/HDR trickery (which don't play a part in my tests here because they feature average light conditions), at the technology's simplest, a photo is taken and a mass of data collected from a CMOS sensor at the back of the camera. This is in RGB format, i.e. is a mass of brightness values collected within a grid pattern of sensor pixels covered by coloured filters, the idea being to collect both brightness and colour information at the same time.
Next, algorithms in the camera hardware get to work averaging (demosaicing) out the colour information while trying to preserve the brightness information. The system is called a Bayer filter, see the link for an excellent Wikipedia write-up. After the averaging has been done, a basic colour photo is present in RAM in the phone, usually in some 'raw' format (hence the name). But before it's presented to the user as a saved JPG, the raw image has various extra steps applied, such as:
- white balance correction
- noise reduction
- sharpening
- edge enhancement
- JPG compression
The end result is usually a darn sight more visually impressive than the 'raw' image mentioned above, but then on the other hand there has been so much done to the image that it's impossible to go 'back' to the captured original.
Unless, that is, you have a flagship phone camera with the facility to also save the 'raw' images in some form. The DNG (Digital NeGative) file format is widely used, including by the Lumia 950 XL and Galaxy S9 here. Giving me the chance to some high testure 'tricky' scenes with both smartphone cameras and then compare the respective JPG and DNG versions, below.
The DNG format is loved by keen photographers for having 'all' the original image information, meaning that post-processing and effects can be applied (e.g. on a desktop computer) with maximum eventual image quality. The downside of raw shots is that the files are very large (between 20MB and 40MB typically) and that they also appear unimpressive without any of the extra work mentioned above.
For my purposes though, we're going to look at 1:1 crops from these raw images from both phones. What can we conclude? Can the Galaxy S9's intense sharpening be avoided? Is each smartphone's default image processing down to JPG form justified?
Note that field of view and resolution differences exist between the Lumia 950 XL and S9 cameras, especially when talking about raw/RNG images, since (obviously) the Lumia's sensor is the full 16/20MP (depending on aspect ratio), so don't get too hung up on differences in framing or field of view below.
Note that the interactive comparator below uses javascript and does need to load each pair of images. Please be patient while this page loads, if you see a pair of images above each other than you've either not waited long enough or your browser isn't capable enough! You ideally need a powerful, large-screened tablet or a proper laptop or desktop. This comparator may not work in some browsers. Sorry about that. On Windows 10 Mobile, use the 'AAWP Universal' UWP app, which handles the comparator very competently (see the tips in the app's help screens). |
Test 1: Morning garden
A winter morning in the UK, with dewy grass lit by a rising sun (from the left/east). Here is the whole scene, as presented by the Lumia 950:
In case you want to grab the original raw images to do your own analysis, here they are, from the Lumia 950 XL and Galaxy S9, click the links to download. And to look at the raw images in more detail, here are fairly central 1:1 crops, just wait to make sure the page has fully loaded and then use your mouse or trackpad pointer to compare the images:
While there are very different apparent colour differences here, remember that you're seeing an intermediate stage in a photo's development in the phone, not a final image. What IS noticeable here immediately is that the S9's handling of grass is just as good as the 950 XL's - i.e. get in before the Samsung image processing stack and the photo is terrific.
Now onto 1:1 crops of the same section of the photos but with the official 'final' JPG-encoding and processing done.
In case you want to grab the original final JPG images to do your own analysis, here they are, from the Lumia 950 XL and Galaxy S9, click the links to download. And to look at the raw images in more detail, here are fairly central 1:1 crops, just wait to make sure the page has fully loaded and then use your mouse or trackpad pointer to compare the images:
To be honest, I don't like either crop in terms of image processing, I much prefer the more natural versions from the raw images. The different colour casts and exposure settings are interesting, the Lumia presents the grass too brightly (obviously) but the S9 presents it too dimly, but don't get too hung up on those differences - what's more interesting is the contrast between the raw (DNG) images and the processed JPGs that normally get spat out to the user.
To illustrate this, I'll present two different comparator pairings. Firstly the Lumia 950 XL, looking at raw versus final (processed) JPG:
Is it just me? Isn't the raw image, without all the white balancing, colour adjustments, sharpening, and JPG encoding, so much better?
I suspect the same will be true for the Galaxy S9, again looking at raw versus final (processed) JPG:
Again, the image processing is detrimental to quality and realism, I'd argue.
Test 2: Sunny field
A sunny field, with - literally - acres of grass and texture. Here is the whole scene, as presented by the Lumia 950:
In case you want to grab the original raw images to do your own analysis, here they are, from the Lumia 950 XL and Galaxy S9, click the links to download. And to look at the raw images in more detail, here are fairly central 1:1 crops, just wait to make sure the page has fully loaded and then use your mouse or trackpad pointer to compare the images:
The colour and exposure differences are less pronounced this time, though the Lumia's characteristic yellow cast is already evident even in the raw image.
Now onto 1:1 crops of the same section of the photos but with the official 'final' JPG-encoding and processing done.
In case you want to grab the original final JPG images to do your own analysis, here they are, from the Lumia 950 XL and Galaxy S9, click the links to download. And to look at the raw images in more detail, here are fairly central 1:1 crops, just wait to make sure the page has fully loaded and then use your mouse or trackpad pointer to compare the images:
Somewhat embarrassingly, having started this feature to show what a mess the Galaxy S9 camera made of fields of grass, it does better here than the Lumia 950 XL's processing. Proving that drawing any conclusions in the phone camera world needs as many data points as you can get!
Again, I'm interested in the contrast between the raw (DNG) images and the processed JPGs that normally get spat out to the user.
To illustrate this, I'll present two different comparator pairings. Firstly the Lumia 950 XL, looking at raw versus final (processed) JPG:
Again, isn't the raw image, without all the white balancing, colour adjustments, sharpening, and JPG encoding, so much better?
I suspect the same will be true for the Galaxy S9, again looking at raw versus final (processed) JPG:
Again, the Galaxy S9's version surprised me here by not going over the top. It's strange that the image processing for both phones can be horrific one day and then passable the next. All depending on subject matter, lighting, and - no doubt - other factors.
Despite the S9 doing much better here than in my landscape shot in the original camera shootout, my conclusion is still clear - manufacturers (including Microsoft, in this case) are degrading 'nature' images with their image processing. I recognise that the algorithms are needed to enhance and sharpen other scenarios - people and things, but surely in 2018 camera software is clever enough to recognise grass/nature and to intelligently scale back its processing ambitions? Isn't that what 'machine learning' (ML), that we've heard so much about, is for?
Comments welcome.