Why do desktop still have low-resolution webcams
you might have noticed that raspberry pi or smartphone cameras has a way higher resolution than standard USB cameras which results in much cleaner and much better images having different levels of exposure. How was this achievable?
A major issue with cameras is that they need super high-speed data transfer. Each frame has certain digital parameters, which either color information for each pixel, for example, if we have an image captured by a 2mp camera, then the maximum number of pixels that the image will have to be 1200 x 1600, and each pixel will contain data for each RGB(red green blue) and that each color can be of 8bit 10bit 12bit here bit means how much of that particular color is present in that image if all are 0,0,0 then our pixel is black and if it is 255,255,255 for our 8-bit sensor so the size of 2mp frame will be 8 x 8 x 8 x 1200 x 1600 and that's for one frame and during a second camera should be able to transmit 24 frames then each second sensor would be sending around 2.3Gb/s data. so the main issue with cameras is not sensors but data transfer.
2 ways are mostly used to transmit image frames
Either through the DVP protocol which is mostly used by USB cameras
MIPI CSI which is used by smartphone vendors
How does DVP handle data transmission?
Webcams use a parallel data interface known as DVP(digital video interface). Here data is sent via parallel communication.
Here is how DVP works.
A DVP to send an 8-bit frame must have 48 signal pins that send RGB information and other pins which are used for synchronization.
![]() |
A DVP port |
![]() |
A pair of differential wires |
48 wires are needed to transfer data of 1 pixel. So for a 2mp camera to send data at 30 fps it would need to transfer 2*30 which is around 7.5 MB of data across every 48 wires. Which is a heavy task even for a 2mp camera. It will be quite impossible to transfer data for 16 MP at 30 fps.
Apart from not being able to send data at higher speeds. it needs around 60-70 pins to send image frames
MIPI CSI: a revolution in the camera industry
Almost all the cameras which have high resolution such as Sony imx sensors which are used by iPhones or any other brand follow the Mipi alliance standards. Mipi(mobile industry process interface) is a business alliance that was inaugurated by companies such as texas instrument, arm, Nokia, Samsung, and later many more vendors joined in. They came up with a definition that should be followed in designing mobile devices and one of them is CSI(camera serial interface).
CSI uses serial communication to transfer data. It uses multiple data lanes to send frames from sensors to another soc which decodes the image( MX processors are an example that decodes CSI images). And other 2 lanes send clock signals to synchronize data and other data to control the camera such as setting exposure and other feature if any provided by the camera. (IMAGE FOR CSI DATA LANE).
![]() |
CSI protocol for CSI2 |
CSI has different generations, with each generation coming up with improvements in data transfer speed for each lane. Currently, each data lane can support up to 5.7 Gb/s and has up to 32 data lanes that could seamlessly transmit 8k video data.
Then the received frames are passed on to IMU(image processing unit) which performs various operations before image data can be viewed.
Why won't desktops implement CSI standards?
There are reasons why desktops webcams are still stuck with poor resolution:
- As the CSI interface is not easy it requires a special set of hardware known as an Image processing unit so that it could process high-speed data and implementing them would increase the cost
- Most vendors won't disclose drivers for their respective IPU(image processing unit), They directly integrate it with their own CPU which runs strictly on their operating systems such as Samsung, Oppo, or Apple. The exception is Raspberry Pi which is leading in open-source camera support.
- Most Desktop users won't need a super high-resolution camera for their desktop as they would only be using them for applications such as meetings.
![]() |
pi cam |
1 Comments
Having a low res. camera now explains a lot.
ReplyDeleteThanks a lot!!