Android Camera Hardware Architecture explained

Android is the most popular mobile operating system in the market today. Towards the end of the last decade, the camera has emerged as one of the most important factors that contribute towards smartphone sales and different OEMs are trying to stay at the top of the throne. Smartphone cameras are built very similar to digital cameras in a compact package. With high-end processing capabilities it has taken a big leap and is competing with digital cameras today. In this post, I’ll be covering the general hardware architecture of modern Android Camera.
In this post I’ll be covering in brief the architecture of Android Camera Hardware. If you want to learn this in detail check article on my blog — Android camera hardware explained (blog.minhazav.dev)


Around 400BC to 300BC, ancient philosophers of certain cultures were some of the first peoples to experiment with the camera _obscura design_ for creating images. The idea is simple enough — set up a sufficiently dark room with only a tiny bit of light entering through a pinhole opposite a flat plane. The light travels in straight line, crosses at the pinhole, and creates an image on the flat plane on the other side. The result is an upside-down version of the objects being beamed in from the opposite side of the pinhole — an incredible miracle, and an amazing scientific discovery for people that lived more than a millennium before the “middle ages.”
1000 years later cameras have taken a big leap and now tiny cameras are available on smartphones capable of capturing dense images competing with full-fledged digital cameras. A standard camera on the smartphone has the following components:
- Lens — Deals with focussing the incoming light to the sensor. The movement of lens help in Auto Focus. Sometimes the lens is packed with the system to move on multiple axes in response to sudden smartphone movements to provide a feature like Optical Image Stabilisation.
- Shutter — Smartphones usually have what is called electronic shutter as compared to mechanical shutters that are popular on digital cameras. This controls how much light and for how long the light exposes the sensor and thus the exposure value of the final image generated.
- Sensor — Hardware component that senses the incoming light. Each pixel is covered with a colored filter (R, B or G) to sense one color and create what is called a RAW Bayer image. Yes, each pixel only senses one of the RGB and the rest of the image is built up using image processing techniques. Check out the Android Camera Subsystem (blog.minhazav.dev) if you are interested in learning more about this.
- Flash — Used for illuminating the object in front of the camera, and works in sync with the capture process. Getting less popular these days with state of art low light image processing techniques coming into the picture.
- ISP: Image Signal Processor — System on Chip (SoC) specialized at certain image processing techniques like statistics generation, histogram calculation, demosaic, noise reduction, jpeg encoding, etc. This is one of the most important SoC that dictates how much Mega Pixels can be handled by a smartphone.
- DSP: Digital Signal Processor — System on Chip (SoC) specialized at operations like matrix operation, fast Fourier transformation, etc which are heavily used in machine learning and image processing thus making a good candidate to be used heavily in camera.
- CPU and GPU — Used by application layer for running the Camera App and general-purpose image processing applied on the image before it’s saved to disk.
As mentioned above this article only touches the tip of the ice burg. I have explained this much more in detail in my blog article — Android camera hardware explained (blog.minhazav.dev).






