Android 5.0 (L release) is set to change standards for Android Media(Audio & Video). Photographers & Audiophiles will rejoice the improvements.
Android 5.0 adds a huge list of features to the API that will enable developers build richer applications than before. The improvements in Camera API allow developers to achieve full Manual control over each camera parameter.
Lets go over what’s new with Camera2 API in Android 5.0:
1. DNG ( Digital Negative Image) aka RAW Image:
This is huge. Android would now support DNG (or RAW) images out of the box. What this means is upcoming Android camera apps would be able to create RAW image along with PNG, JPEG for each shot. Photographers can import this RAW file into Photoshop or Lightroom to bypass smartphone’s poor Noise correction, white-balance algorithms.
What is DNG?
DNG images have very minimal processing applied and exhibit basically the same compression as RAW files, meaning you’re getting all of the data the sensor captures instead of letting the image processor do the work of trimming things down and adjusting the image to what it perceives as a desirable result.
From the Android’s Camera API documentation:
The DngCreator class provides functions to write raw pixel data as a DNG file.
This class is designed to be used with the RAW_SENSOR buffers available fromCameraDevice, or with Bayer-type raw pixel data that is otherwise generated by an application. The DNG metadata tags will be generated from a CaptureResultobject or set directly.
The DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
For more information on the DNG file format and associated metadata, please refer to the Adobe DNG 184.108.40.206 specification
2. Faster, limited only by hardware
The Camera 2 API delivers full resolution images in Realtime (i.e. same line speed of the camera), enabled by a fully synchronized pipeline. In layman’s terms, it can take the best out of the camera hardware, despite what OEM might set limits for in software. e.g. Nexus 5 can capture photos at 30 FPS, at it’s hardware maximum resolution of 8 megapixels.
3. Burst Mode
Like mentioned above, API now enables App developers to burst capture photos with minimal delay. You can set target FPS rate you want to capture at, and Android will do its best.
4. Full Manual control
New Camera 2 API lets you take control over:
- Exposure (duration in seconds)
- Exposure compensation (+- 3)
- ISO sensitivity (supported by hardware)
- Manual focus / AF Trigger
- Flash Trigger
- AE / AF / AWB mode (Auto-exposure / Auto Focus / Auto white balance mode)
- AE / AWB lock (Auto-exposure / Auto white balance lock)
- Precapture AE
- Hardware enabled Video stabilization
- Metering regions
- Tonemap curve
- Color correction matrix
- Frame duration
We can only imagine what kind of Photography apps for Android would arrive in future.
And yes, don’t forget Nikon and others are building army of next generation dSLRs based on Android. Sky is the limit.
Developers, leverage it!
If you’re a developer, checkout the video below that discusses improvements in Camera 2 API. These are also included in platform samples in Camera2Basic, Camera2Video java files.