X

Source code snippets open door for raw photos on Android

It's not built into Android yet, but Google has been overhauling the OS's camera interface to be more photography-friendly.

Stephen Shankland Former Principal Writer
Stephen Shankland worked at CNET from 1998 to 2024 and wrote about processors, digital photography, AI, quantum computing, computer science, materials science, supercomputers, drones, browsers, 3D printing, USB, and new computing technology in general. He has a soft spot in his heart for standards groups and I/O interfaces. His first big scoop was about radioactive cat poop.
Expertise Processors, semiconductors, web browsers, quantum computing, supercomputers, AI, 3D printing, drones, computer science, physics, programming, materials science, USB, UWB, Android, digital photography, science. Credentials
  • Shankland covered the tech industry for more than 25 years and was a science writer for five years before that. He has deep expertise in microprocessors, digital photography, computer hardware and software, internet standards, web technology, and more.
Stephen Shankland
2 min read
Raw photos store data from an image sensor before it's been converted into a JPEG. Typical image sensors capture only red, green, or blue for a pixel, and through "demosaicing" convert that data into a useful image with all three color elements for each pixel.
Raw photos store data from an image sensor before it's been converted into a JPEG. Typical image sensors capture only red, green, or blue for a pixel, and through "demosaicing" convert that data into a useful image with all three color elements for each pixel. Adobe Systems

Android device owners might be able to take photos in a higher-end raw format in the future, according to details tucked away in the source code for the mobile operating system.

As spotted by Ars Technica, Google programmers have been working on a revised camera interface that exposes new features to Android app programmers. Among the features in the "new camera API" (application programming interface) are support for raw photo formats and burst-mode shooting that can take a rapid sequence of photos.

It's not clear what the fate of the new interface will be. It was added initially in December 2012, but in October 2013 was marked "do not merge -- not yet ready" to keep it out of the current code base.

But it is clear that image quality is increasingly important to mobile phones in general. People use them to document more and more of their lives, sharing photos and videos as they go with family, friends, and followers. Raw photo support won't do much for ordinary folks who can't be bothered with the inconvenience of raw processing, but it could let photo enthusiasts get more out of existing hardware.

Raw photos record the data from the camera's image sensor without in-camera processing into more convenient formats like JPEG. Although raw photos are something of a hassle to deal with, they can offer better flexibility and higher image quality, so photo enthusiasts often shoot raw on higher-end cameras that enable it.

Nokia, which is catering to the photo-first set with its PureView camera technology and brand, is the first to support raw photos on a mobile phone with its Lumia 1520 phone and, in early 2014, an upgrade to its Lumia 1020 phone.

CNET contacted Google for comment and will update this story with its response.

The source code of the new interface refers to a "general raw camera sensor image format, usually representing a single-channel Bayer-mosaic image. Each pixel color sample is stored with 16 bits of precision."

One of the big advantages of raw over JPEG is that they store a greater depth of color information for each pixel than JPEG, which is limited to 8 bits per pixel. Although the Android interface accommodates 16 bits per pixel, it's unlikely cameras would go that high; even high-end SLRs today store 14 bits per pixel.

The source code also defines a related, more specific interface for 10-bit Bayer-pattern raw data, along with instructions on how software can figure out whether that format is supported.

The Bayer-mosaic pattern is the checkerboard-like distribution of red, green, and blue pixels on typical image sensors. Each pixel captures only a single color, but processing after the fact fills in the gaps so each pixel has red, green, and blue data so it can be shown on screens, printed, processed, and otherwise handled.

A different part of the source code also describes a burst mode to let software capture a sequence of photos.