Manual Camera Controls in iOS 8by Joshua Ho on June 18, 2014 11:54 AM EST
For the longest time, iOS had almost no camera controls at all. There would be a toggle for HDR, a toggle to switch to the front-facing camera, and a toggle to switch to video recording mode. The only other tool that was accessible would be the AE/AF lock. This meant that you had to hope that the exposure and focus would be correct, because there was no direct method of adjusting these things. Anyone that paid attention to the WWDC 2014 keynote would’ve heard maybe a few sentences about manual camera controls. Despite the short mention in the keynote, this is a massive departure from the previously all-auto experience.
To be clear, iOS 8 will expose just about every manual camera control possible. This means that ISO, shutter speed, focus, white balance, and exposure bias can be manually set within a custom camera application. Outside of these manual controls, Apple has also added gray card functionality to bypass the auto white balance mechanism and both EV bracketing and shutter speed/ISO bracketing.
For those that are unfamiliar with such terms, it’s worth talking about what each of these controls can do. First, ISO and shutter speed are two of the three factors that affect the exposure of a scene. The third is the lens aperture, but in the context of mobile, aperture is almost always fixed. ISO is best described as the sensor gain, and shutter speed is the time that the sensor is taking in light. While increasing ISO can brighten a scene, doing so also increase the noise in an image. It's also possible to select different formats within a custom camera application, such as the low light mode. This means that a third party camera application wouldn't be denied access to features that can be found in the stock camera application. A possible UI for this third party camera can be seen below in the Lumia 1020's Nokia Pro Camera application.
The flip side is shutter speed. While longer shutter speeds can decrease ISO, it also means that hand shake and motion blur are more likely to affect the image. This means that things like long exposure photography are now possible. It’s also possible to force lower or higher ISO/shutter speed compared to what the auto-exposure algorithm would pick based upon the scene. It's also important to note that the preview frame rate will be the same as the set shutter speed. This means that the lower bound can be 1FPS in certain formats. With the controls that Apple has exposed, it’s even possible for developers to write their own custom auto-exposure algorithms. Outside of these manual controls, it’s also possible to add a bias to the auto-exposure algorithm. This should appear in the stock iOS 8 camera application in the near future.
Focus is another key control that adjusts the lens from macro focus to infinity focus, and this means that it’s now possible to focus in situations where contrast detection auto-focus mechanisms struggle to work correctly. This opens up new ways to compose an image, and also opens up new kinds of shots with video. A great example of this is smoothly focusing into an object to provide a dramatic effect, something that would've been impossible up until now. There was a strong emphasis on the fact that focus couldn't be mapped to distance, as the focal length varies from device to device and the VCM behavior is also affected by gravity, age, and variance in the production process. A diagram of a VCM AF system can be seen below.
White balance is now also fully manual, something that was previously only limited to Windows Phone and HTC's custom camera application. Apple went into deep detail regarding the implementation of this manual color balance, which effectively skews based upon RGB gain at a low level, but can be converted to Kelvin through the API that is opened up. This, in addition to the "gray world" white balance, allows further control of how a shot will come out.
While only the exposure bias controls will make it into the stock camera application, all of these new controls exposed through the AVCaptureDevice APIs will enable camera applications similar to Nokia's Pro Camera or HTC's Sense 6 camera application. It's been said that Apple is one of the few OEMs that take camera seriously, and these new controls can only cement that position.