Ubuntu Touch photography

Camera output in Ubuntu Touch
11 January 2020

    Assumptions versus reality

    To be honest, when I first proposed that we collect some examples of photos taken with the Camera app in Ubuntu Touch, I had expected to write that since mobile phone camera software on other platforms has reached stratospheric levels of sophistication, the story would be about how bad – or surprisingly acceptable – the output from our devices might be. A rather unscientific glance shows a proprietary Android camera application weighing in at 26 megabytes, with Open Camera comprising 6 megabytes. Even beyond those, there are system mysteries which tweak and preen camera output, unseen.

    Well, that was the theory but when submissions started to arrive, that view crashed and burned. A German member of our community who takes a keen interest in photography commented as follows when I asked about the potential of the new Xperia X port

    “My main mobile device is still a Lumia 950 on Windows 10, with 20 megapixel camera and Zeiss optics. It has the ability to do long exposure shots in low light conditions. I once took the same scene with that device. In particular, the sky is much less pix-elated than on the Xperia. But honestly, I have to repeat what I said before. I used the Xperia with Android and Sailfish and the quality on Ubuntu Touch is in my opinion the best from those.”

    That brings me to my second assumption – that the Xperia X would be the great new thing for all of us who like both photography and Ubuntu Touch. Now, I think I was wrong about that too, as I will explain later.

    Practical survey results

    So, let us pull this apart and see how we might explain the results from the practical survey which we have been running. What we did was to collect some representative samples of photos taken with each device but initially under more or less ideal lighting conditions – even sunlight without any harsh highlights. That best case scenario should show what the camera can do on its own, with almost no intervention. It is not entirely artificial, as that situation accounts for probably half of the shots that most people take in real life. With low and challenging light, the devices will of course diverge much more and some will drop out of the race altogether.

    As you can see for yourself in the gallery that has been created, there are some very pleasing photos in there and for some of the devices the quality is good to very good, from the perspective of the average phone camera user.

    Odoo - Sample 1 for three columns

    Meizu Pro 5

    Odoo - Sample 2 for three columns

    Sony Xperia

    Odoo - Sample 3 for three columns

    OPO

      Influencing factors 

      I think there are two closely related factors which provide some answers. The first is that the great weight of the effort of post-processing is about making the best of what you can do when lighting is not ideal. When it is dark, overcast or there is a lot of deep shadow the software works overtime to try to maximize dynamic range, achieve a proper color balance and to filter out noise. Under ideal conditions though, it has almost nothing to do – in fact the over-enthusiasm of phone manufacturers and software developers can actually degrade the image, which would have looked a lot better without their efforts at ‘improvement’. The second factor is that camera sensors are no longer the dumb gatherers of data they once were. They now have a battery of reality checks and filters baked right into the hardware. In the best of them, the messy business of trying to remove noise or add sharpening in post-processing has given way to designs which provide clearer, sharper results at source.

      Ubuntu Touch has next to nothing in terms of post-processing capability but the lesson is that for much of the time that simply isn’t necessary anyway because what comes straight out of the camera hardware is just fine. In turn, we can say that rather than fussing too much about building new post-processing functions into Ubuntu Touch, we should focus much more carefully on what each particular camera sensor is capable of doing. I have talked about ideal conditions but there are some sensor features which have their biggest impact under more challenging conditions. Ideally, what we want is a sensor that does an excellent job under most circumstances and leaves very little mess for post-processing to pick up.

      This brings us to the Sony Xperia X issue. The 23 megapixel figure sounds very inviting and to make the story even better, the sensor is quite large by phone standards (even though dwarfed by the Lumia mentioned above). Both are good news and they should help by bringing in lots of light and by resolving fine details. As with the same device on Android, that is exactly what we see. Under perfect conditions, with nice even sunshine, you will get a very detailed and vibrant image – though I have noticed some color casts in the sky and vegetation. Problems arise when noise reduction is needed and they show themselves very quickly. If the light is just a bit less than ideal the aggressive noise reduction needed by the camera chip wipes out detail and introduces some ugly artifacts – at least when viewed at 100%. What is ‘effective’ is not necessarily pleasing, with somewhat flat and washed out results. This is not characteristic of Sony in general but it does seem to be the case with this chip, whether on Android or Ubuntu Touch. There is a subjective element. If you want forensic, architectural or scientific recording, the Xperia X is maybe acceptable. If you want atmospheric, emotionally involving tourism shots, hope for sunshine.

      Fortunately, what the Xperia lacks (in my view) the OnePlus 3 more than makes up for. The port to Ubuntu Touch has not developed quite as quickly as that for the Xperia but from a photography perspective, I think that is where the real interest lies. First, I would advise that you don’t get hung up on the 23 megapixel versus 16 megapixel comparison. Remember that Google’s flagship Pixel 3 ‘only’ has 12 megapixels. It is a factor but nowhere near as important as you might think. Quality not quantity matters most.

      OnePlus 3 advantages

      The OnePlus3 also uses a Sony camera module but its design is way more sophisticated, in a good way. There are three things to highlight. Unlike the Xperia’s chip it is back illuminated. The clutter of connections which accounts for so much of the noise generation is moved to the other side, away from the process of light detection. Doing that reduces the overall level of noise (everything else being equal) by around a third. Preventing noise in the first place is a thousand times better than filtering it out after the event. Filtration obliterates detail and sucks the life out of an image. A lot of the Xperia’s very high pixel count is effectively just compensating for the damage that is done in post-processing to remedy poor lighting. More is not actually better.

      The Android version of the Xperia X provides correction for camera shake but that is done digitally by the camera software. That in turn discards some of the image and can introduce artifacts. We have none of that machinery in Ubuntu Touch however, so under low light conditions, you will get shake unless you use a tripod or similar. The OnePlus3 camera module instead has hardware based Optical Image Stabilization. This functions like a gimbal with a movie camera. The sensor jumps around to compensate for your hand movement and keeps everything steady. When you are shooting in bright sunlight that hardly matters but indoors it makes a huge difference and because it is a hardware feature, it is just as useful for those with Ubuntu Touch installed.

      The third big feature that I would like to draw attention to is the ability of the OnePlus3 camera to generate RAW files in the generic DNG format. Those files simply contain every scrap of information recorded when you press the shutter button, unfiltered and uncompressed. Sophisticated RAW developer software can extract what it needs from that, in order to export a ‘perfect’ JPEG file. Most such apps have a default (which can be customized by the user) which will automatically produce a very acceptable result from maybe 70% of the DNG files thrown at it. Building that sort of software into our phones makes no real sense but moving the output to a laptop for post-processing is an easy way to start getting the absolute best out of a Ubuntu Touch camera. Tweaking Ubuntu Touch to extract those RAW files from the OnePlus3 and to show thumbnails of them in the Gallery app look like fairly trivial tasks.

      My final conclusions 

      For those of you thinking about one of the newer ports to raise your photographic game, my advice would be to choose the OnePlus3 over the Xperia X. Some may disagree. The acid test would be a run-off between the two in identical conditions. Hopefully we will be able to arrange that at some point. It is worth noting also that the port of the Samsung Galaxy Note 4 is progressing well at the time of writing and its camera has very similar capabilities to the OnePlus3.

      Alas, many examples have seen better days and gradually we will need to move on to newer devices.

      The OnePlus3 is not alone in having the ability to generate RAW files. It shares that with the Nexus 5, OnePlusOne and even the Pinephone! If you want to finely polish your photographs, that is the way to go. It is only useful for fine tuning though. The Pinephone doesn’t claim to be a photography great and being able to manipulate RAW files from it will only produce a slightly improved version of mediocre.

      What would be great to see is a Pinephone 2 fitted with the same camera chip as the OnePlus3...

      I hope this overview has been helpful. It should reassure that adopting Ubuntu Touch as your phone operating system does not at all mean resigning yourself to making blurry, washed out photos. The exact choice of device matters but you will be able to create great images, up to the standards of all but the most demanding phone camera buffs. 

                                  Stay tuned.

                                  •  Authors: the Ubuntu Touch writers

                                  • Special thanks to Lionelb and his community photo-team

                                  • Contact: [email protected]

                                  • Category: #Hardware