1Shot UWP v2.0 - how to zoom 100% losslessly on Windows 10 Mobile

Published by at

1Shot was always the camera application for Windows Phone that got you closer to the sensor in your phone camera than any other application - what you see on screen is what you get, with no post processing, no lossy digital zoom, no effects. Uniquely, this also means that it's the perfect app to deliver truly lossless zoom on Windows 10 Mobile, with only a slight adjustment to your own mindset about resolution.

You may remember a previous article, looking at the way PureView zoom was handled on Windows Phone and Windows 10 Mobile? Taking the idea behind that piece, looking at PureView zoom ('smart cropping' into a higher resolution sensor), I wanted to compare taking the same concept but reducing the output resolution to go even further. Because this is, indeed 1Shot UWP's party piece:

Camera app on (e.g.) Lumia 950  Frame size (in 4:3) Megapixels output Lossless zoom for stills
Windows 10 Camera
4992 x 3744  8MP 1.5x in oversampled mode 
1Shot UWP at max zoom 1280 x 960 (in 4:3) 1MP almost 4x in 1Shot's 'smart crop' mode 

Now, before you go ballistic at the thought of (in the extreme example here) a 1MP photo in 2017, first check out my suburban test shot looking through 1Shot UWP yesterday, of a lake scene. First the full view on the phone screen, before zooming:

1Shot screenshot

And then zooming in at a genuine 4x in 1Shot UWP:

1Shot 4x example

This doesn't look too shabby, does it, at least at the web/social resolution above... So what's happening here?

What 1Shot UWP is doing is cropping into the high (20MP) resolution sensor, bit by bit, and reporting on the resolution at each stage in the top left corner of the UI. For example, below, I've dragged the zoom slider to 3x zoom, at which level of cropping the app tells me that I'd end up with a 2.2MP image.

1Shot screenshot

Zooming can also be done by swiping upwards (in traditional 'Nokia Camera' style), swiping right, or using pinch and splay in the usual fashion. There are two caveats to all this though, at least for the UWP app version of 1Shot here:

  • the preview image in the viewfinder is blocky, as it's using the pretty useless native Camera APIs for zooming. Don't let this put you off though - at capture time, 1Shot UWP grabs the right area of the sensor at full 1:1 unprocessed quality.
  • the zoom is 'stepped', i.e. not that smooth or continuous - this again is a (performance) limitation of the Camera APIs in Windows 10. It's not a problem though, just step through 0.1x zoom at a time using the '+' and '-' buttons or swipe and be very slightly patient as you watch the viewfinder change.

So, with all this in mind, look again at the field of view in the original test shot above and then the genuinely 4x-zoomed photo below it. If you're at an event and want snaps of (say) a band for posting on Instagram or Facebook or Twitter, then a 1MP or 2MP photo will be absolutely fine - and you can zoom in with 100% confidence, all with your fairly small phone camera.

The point of all this, of course, is that you can't trust Windows 10 Camera when it comes to zooming. After passing the PureView limit (about 1.5x zoom, on the Lumia 950, in 8MP mode), the interpolative algorithms for zooming are just terrible - it's the Achilles heel of the application (and API). And there's no way in the UI to tell when you head into blocky digital zoom territory, despite me asking Juha and his team numerous times for at least an indent on the zoom bar. 

So 1Shot, by refusing to use digital zoom at all, helps enormously, since you're only ever using photos at 1:1 on the sensor. So no oversampling, but equally no blocky monstrosities. And the UI keeps you informed at all times as to what your final output resolution will be, so you're always aware of the trade-offs.

But the results are always useable. The 1Shot UWP application itself still has a few rough edges, but it's getting there and is unique enough that it's worth my (and your) attention here. 

Here's it in action again on my Lumia 950 XL, looking at its more general features:

1Shot screenshot

Standing out in the middle-left of the viewfinder is a small settings icon, just 'floating' there. Tapping this brings up the main controls - tap any of these to bring up further options within the same circular overlay...

1Shot screenshot

Slightly curiously, the default in 1Shot is for the lossless smart zoom/cropping mentioned above to be disabled, in favour of the 'native digital zoom' - the latter is indeed faster and the viewfinder then becomes more accurate in terms of what will end up in the finished JPG, but take it from me - disable the 'native' zoom and go with the 1:1 smart cropping. It'll transform how you think about zooming*.

You can grab 1Shot UWP here in the Store, (currently at v2.0.1.0), it should work on anything, regardless of spec (though results will vary, obviously!)

* Of course, if you think about it, you could equally well just snap everything at 4:3 at 20MP and then do all the cropping later on back in an image editor on your desktop, but it's far more laborious and not half so much fun.